Vb.net 清除文本文件而不删除它

Vb.net 清除文本文件而不删除它,vb.net,file,text,Vb.net,File,Text,我有一个文本文件,我将在其中添加数据(因此我不能只覆盖该文件)。问题是,最初它确实包含我不想要的内容,所以在我开始添加新数据之前。有没有一种方法可以清除文件而不必删除然后重新创建它?是的,大多数.NET方法都允许您附加或覆盖文件。您已经找到了一种方法可以做到这一点—File.WriteAllText。唯一的缺点是它是非流式的,因此对于大量内容,您可能需要大量内存。是流版本。它可能看起来像更多的代码(确实如此),但在您无法一次性将所有内容放入内存的情况下,它可能会很有用 您可以先用空字符串覆盖文件

我有一个文本文件,我将在其中添加数据(因此我不能只覆盖该文件)。问题是,最初它确实包含我不想要的内容,所以在我开始添加新数据之前。有没有一种方法可以清除文件而不必删除然后重新创建它?

是的,大多数.NET方法都允许您附加或覆盖文件。您已经找到了一种方法可以做到这一点—File.WriteAllText。唯一的缺点是它是非流式的,因此对于大量内容,您可能需要大量内存。是流版本。它可能看起来像更多的代码(确实如此),但在您无法一次性将所有内容放入内存的情况下,它可能会很有用


您可以先用空字符串覆盖文件,然后再附加数据。您可以使用此选项覆盖文件:

System.IO.File.WriteAllText(Path, "")
与删除和重新创建文件相比,此操作的好处在于,您将保留文件的原始创建日期以及任何其他元数据。

FileStream.SetLength(0)


将FileStream长度设置为零。我已经包含了MSDN中的文档。

重命名它,然后重新创建?为什么不先用空字符串覆盖文件,然后再附加数据呢?用空字符串覆盖听起来不错。File.writealText是最佳选项吗?是的,您可以使用它。请添加代码示例。这对我来说是新的东西。如果它不是流媒体呢?@SharenEayrs:那么它就是
File.writealText
System.IO.File.WriteAllText(Path, "")