私はF#を学習しており、WriteLineAsyncの使用に問題があります。同期コード付きFでのWriteLineAsyncの使用#
は、それが完璧に動作します:
using (new StreamWriter(new FileStream(@"c:\work\f2.txt", FileMode.Create, FileAccess.Write, FileShare.None, bufferSize= 4096, useAsync= true)))
(fun sw -> File.ReadLines @"c:\Work\f1.txt" |> Seq.iter(fun x-> sw.WriteLine(x)))
私は、ユーザーWriteLineAsyncにしようとすると:
using (new StreamWriter(new FileStream(@"c:\work\f2.txt", FileMode.Create, FileAccess.Write, FileShare.None, bufferSize= 4096, useAsync= true)))
(fun sw -> File.ReadLines @"c:\Work\f1.txt" |> Seq.iter(fun x-> sw.WriteLineAsync(x) |> Async.AwaitTask |> ignore))
私が得たエラーと、InvalidOperationExceptionを:ストリームライターは、前回の書き込み操作によって現在使用中です。
私は間違っていますか?
あなたが書くことができますどのように/同時に同じファイルを変更します。あなたはファイルに対して正しい操作を行っていません。構文は問題ありません。 –
これは同じファイルではありません – WaldiMen