我在使用OpenTextFileReader(path)
覆盖我打开的文件时遇到问题,如下所示:
allstring = IO.File.ReadAllText(path)
fileReader = My.Computer.FileSystem.OpenTextFileReader(path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()
我只需阅读前两行。 如何关闭文件以便覆盖它?
答案 0 :(得分:1)
真的?
调用fileReader.Close或者我更喜欢using子句:
Dim allstring As String = IO.File.ReadAllText(Path)
Using fileReader As StreamReader = My.Computer.FileSystem.OpenTextFileReader(Path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()
End Using
祝你好运,
汤姆
答案 1 :(得分:1)
您是否需要更改前两行?
怎么样?
Dim lines() As String = System.IO.File.ReadAllLines(path)
Debug.Print(lines(0))
Debug.Print(lines(1))
lines(0) = "new line1"
lines(1) = "new line2"
System.IO.File.WriteAllLines(path, lines)
答案 2 :(得分:0)
更好地坚持.NET的做事方式。根据建议,Using
条款更好,您也可以将My.Computer.FileSystem.OpenTextFileReader
直接传递给StreamReader constructor,保存在path
上,如下所示:
Using fileReader As New StreamReader(Path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()
End Using
此外,allstring
是多余的,不会在任何地方使用。