.net 清除文件的内容

qhhrdooz  于 2023-08-08  发布在  .NET
关注(0)|答案(6)|浏览(112)

如何清除文件的内容?

6jjcrrmo

6jjcrrmo1#

可以使用File.WriteAllText方法。

System.IO.File.WriteAllText(@"Path/foo.bar",string.Empty);

字符串

bd1hkmkf

bd1hkmkf2#

这就是我所做的清除文件的内容而不创建新文件,因为我不希望文件显示新的创建时间,即使应用程序刚刚更新了它的内容。

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.

字符串

2ekbmq32

2ekbmq323#

每次创建文件时都使用FileMode.Truncate。同时将File.Create放入trycatch内。

wr98u20j

wr98u20j4#

最简单的方法是:

File.WriteAllText(path, string.Empty)

字符串
但是,我建议您使用FileStream,因为第一个解决方案可能抛出UnauthorizedAccessException

using(FileStream fs = File.Open(path,FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
     lock(fs)
     {
          fs.SetLength(0);
     }
}

k4emjkb1

k4emjkb15#

尝试使用类似
File.Create
创建或覆盖指定路径中的文件。

ego6inou

ego6inou6#

最简单的方法可能是通过应用程序删除文件,并创建一个同名的新文件。更简单方法就是让应用程序用一个新文件覆盖它。

相关问题