在线程中编写文本文件

时间:2012-10-02 15:09:57

标签: c# file-io

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 个答案:

答案 0 :(得分:4)

  

问题是为什么我不能在第一次写入后写新文件。

因为您的代码专门告诉它如何操作。 File.Exists(path3) ? FileMode.Truncate : FileMode.Create这特别是创建一个流,如果没有,则创建一个新文件,并在那里 时截断文件(而不仅仅是错误输出)。