例:
variable = new StreamReader( file ).ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
那可以接受吗?
bad*_*d99 47
不,这不会关闭StreamReader.你需要关闭它.使用为您执行此操作(并将其配置为更快地使用GC):
using (StreamReader r = new StreamReader("file.txt"))
{
allFileText = r.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
或者在.Net 2中,您可以使用新文件.静态成员,那么你不需要关闭任何东西:
variable = File.ReadAllText("file.txt");
Run Code Online (Sandbox Code Playgroud)
Dis*_*ile 19
您应该始终处置您的资源.
// the using statement automatically disposes the streamreader because
// it implements the IDisposable interface
using( var reader = new StreamReader(file) )
{
variable = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
或者至少手动调用它:
reader = new StreamReader(file);
variable = reader.ReadToEnd();
reader.Close();
Run Code Online (Sandbox Code Playgroud)
您需要处理实现的对象IDisposable.使用using语句确保在不显式调用Dispose方法的情况下处理它.
using (var reader = new StreamReader(file))
{
variable = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
或者,使用 File.ReadAllText(String)
variable = File.ReadAllText(file);
Run Code Online (Sandbox Code Playgroud)