-5
if (f3.Length > 0)
{
    using (Stream stream = File.Open(path3, File.Exists(path3) ? FileMode.Truncate : FileMode.Create
        , FileAccess.Write, FileShare.Read))
    using (TextWriter writer = new StreamWriter(stream))
    {
        writer.Write(f3);
    }
}

このコードは、x 秒ごとに呼び出される 1 つのスレッドにあります。例外は発生しませんが、最初にファイルに書き込み、その後に書き込むことができます。

4

1 に答える 1

4

問題は、最初の書き込み後に新しいファイルを書き込めない理由です。

あなたのコードは具体的にその方法を教えているからです。 これは具体的には、新しいファイルが存在しない場合はそれを作成し、存在する場合は(単にエラーになるのではなく)File.Exists(path3) ? FileMode.Truncate : FileMode.Create ファイルを切り捨てるストリームを作成することです。

于 2012-10-02T15:15:32.437 に答える