我在覆盖我打开的文件时遇到问题OpenTextFileReader(path)
,如下所示:
allstring = IO.File.ReadAllText(path)
fileReader = My.Computer.FileSystem.OpenTextFileReader(path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()
我只需要阅读前两行。如何关闭文件以便覆盖它?
我在覆盖我打开的文件时遇到问题OpenTextFileReader(path)
,如下所示:
allstring = IO.File.ReadAllText(path)
fileReader = My.Computer.FileSystem.OpenTextFileReader(path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()
我只需要阅读前两行。如何关闭文件以便覆盖它?
严重地?
调用 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
祝你好运,汤姆
你需要改变前两行吗?
怎么样?
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)
最好坚持 .NET 做事方式。如建议的那样,Using
子句更好,您还可以My.Computer.FileSystem.OpenTextFileReader
通过将 apath
直接传递给StreamReader 构造函数来节省,如下所示:
Using fileReader As New StreamReader(Path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()
End Using
此外,allstring
它是多余的,它没有在任何地方使用。