StreamWriter在写入流时不会覆盖

时间:2012-05-17 13:01:25

标签: c#

我有这样的代码

IsolatedStorageFileStream ostream = new IsolatedStorageFileStream("Conditions.txt", FileMode.Create, FileAccess.Write, store);

try
{
  StreamWriter swi = new StreamWriter(ostream);                        
  swi.WriteLine(System.DateTime.Now.Date.ToString());
  swi.Close();   
}

这是循环,在第二次迭代中,当此代码运行时,streamwriter将时间附加到文件,我希望它覆盖。

通过将false作为第二个参数,我可以这样做,但仅当我们将文件的路径作为第一个参数传递给stringwriter时才有效。

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

使用FileMode.CreateNew代替FileMode.Create。因此,将始终创建一个新文件。

ostream.Close()

之后写下ostream.Dispose()swi.Close();

它关闭当前流并释放与当前流关联的所有资源(例如套接字和文件句柄)。

答案 1 :(得分:0)

您可以尝试使用IsolatedStorage构造函数中CreateNew的{​​{1}}或Truncate枚举值。

http://msdn.microsoft.com/en-us/library/system.io.filemode.aspx