在Visual Basic 2010中使用OpenTextFileReader(路径)后如何关闭文档

时间:2013-05-17 20:31:13

标签: vb.net visual-studio-2010

我在使用OpenTextFileReader(path)覆盖我打开的文件时遇到问题,如下所示:

allstring = IO.File.ReadAllText(path)
fileReader = My.Computer.FileSystem.OpenTextFileReader(path)
stringReader1 = fileReader.ReadLine()
stringReader2 = fileReader.ReadLine()

我只需阅读前两行。 如何关闭文件以便覆盖它?

3 个答案:

答案 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是多余的,不会在任何地方使用。