每当应用程序启动时,我都需要清除特定文件的内容。我该怎么做?
Answers:
您可以使用File.WriteAllText 方法。
System.IO.File.WriteAllText(@"Path/foo.bar",string.Empty);
IO exceptions of file is in use
,因此,我建议您通过文件流手动处理它
这是我在不创建新文件的情况下清除文件内容的操作,因为我不希望文件显示新的创建时间,即使应用程序只是更新了其内容也是如此。
FileStream fileStream = File.Open(<path>, FileMode.Open);
/*
* Set the length of filestream to 0 and flush it to the physical file.
*
* Flushing the stream is important because this ensures that
* the changes to the stream trickle down to the physical file.
*
*/
fileStream.SetLength(0);
fileStream.Close(); // This flushes the content, too.
最简单的方法可能是通过您的应用程序删除该文件,然后使用相同的名称创建一个新文件...以更简单的方式,只需使您的应用程序用新文件覆盖它即可。
File.WriteAllText
,似乎有时(?)会删除该文件,因为这些硬链接不会保持更新。