在Visual Basic中覆盖文件

时间:2013-11-23 14:48:08

标签: vb.net

每当我第一次在文本文件中保存我的标签时,它都能正常工作。

然后,当我编辑某些内容并尝试再次保存时,它只会将所有内容放在一起。

我已经搜索但找不到覆盖整个文件的方法,我该怎么做?我目前的代码是:

Dim file As System.IO.StreamWriter
    file = My.Computer.FileSystem.OpenTextFileWriter("D:\Documenten\test.txt", True)
    file.WriteLine("Last Generated Child")
    file.WriteLine(Code.Text)
    file.WriteLine("All Available Parents")
    file.WriteLine(Parent1Code.Text)
    file.WriteLine(Parent2Code.Text)
    file.WriteLine(Parent3Code.Text)
    file.WriteLine(Parent4Code.Text)
    file.WriteLine(Parent5Code.Text)
    file.WriteLine(Parent6Code.Text)
    file.Close()

另一件可行的方法是覆盖特定的线条。

谢谢:)

1 个答案:

答案 0 :(得分:4)

方法OpenTextFileWriter能够附加到文件中的先前文本或使用新数据覆盖所有内容。

您使用Append参数设置为True 因此,每次写入文件时,文本都会附加到文件的当前内容中。

如果你想覆盖,那就改变

file = My.Computer.FileSystem.OpenTextFileWriter("D:\Documenten\test.txt", False)

另外,我建议您将StreamWriter封装在Using statement block中,以确保正确关闭和处理您的信息流

Using file = My.Computer.FileSystem.OpenTextFileWriter("D:\Documenten\test.txt", True)
    file.WriteLine("Last Generated Child")
    file.WriteLine(Code.Text)
    file.WriteLine("All Available Parents")
    .....
End Using