Using sr As New System.IO.StreamWriter("C:\test.txt")
   sr.WriteEnd
End Using
Using sr As New System.IO.StreamReader("C:\test.txt")
   sr.ReadToEnd
End Using
这相当于:
sr = New System.IO.StreamWriter("C:\test.txt")
sr.WriteEnd
sr.Dispose
sr = New System.IO.StreamReader("C:\test.txt")
sr.ReadToEnd
sr.Dispose
我是否正确地说,如果垃圾收集器没有处理StreamWriter并关闭文件,则尝试读取文件可能会失败.如果是这样,那么在这种情况下使用Using语句的好处在哪里.是更好的练习使用
Using sr As New System.IO.StreamWriter("C:\test.txt")
       sr.WriteEnd
sr.close()
    End Using
始终使用该Using语句是最佳实践,因为如果在读取期间抛出异常,则可能永远不会处理该流,并且您的应用程序将泄漏文件句柄.如果这是一个桌面应用程序,该进程可能会死并释放句柄,但在Web应用程序中不释放非托管资源(如文件句柄)可能是灾难性的.
Close如果您正在通话,也无需呼叫您的信息流Dispose.
备注:如果您想将文本文件的内容读入字符串,您可以直接执行此操作,而不是经历实例化StreamReader的痛苦,将其读取到最后并将其处理:
Dim data = File.ReadAllText("C:\test.txt");