【发布时间】:2009-12-04 18:23:10
【问题描述】:
执行完操作后是否会关闭文件? :
System.IO.File.AppendAllText(path, text);
是,否就足够了?
【问题讨论】:
执行完操作后是否会关闭文件? :
System.IO.File.AppendAllText(path, text);
是,否就足够了?
【问题讨论】:
是的,确实如此。
如果没有,之后将无法关闭它,因为它不会返回任何可处置的东西。
来自the docs:
给定一个字符串和一个文件路径,这个 方法打开指定的文件, 将字符串附加到末尾 文件,然后关闭文件。
其他实用程序方法(ReadAllText、WriteAllBytes 等)的工作方式相同。
【讨论】:
All 的 IO 方法都释放/关闭底层流,例如:File.AppendAllLines、File.AppendAllText、File.ReadAllBytes、File.ReadAllLines、@ 987654329@,File.WriteAllLines,File.WriteAllText。这不是保证,而是一个很好的助记符。
File.ReadLines 这样的流,而不是 ReadAllLines,则返回类型并不明显。
这是方法的代码:
public static void AppendAllText(string path, string contents, Encoding encoding)
{
using (StreamWriter writer = new StreamWriter(path, true, encoding))
{
writer.Write(contents);
}
}
因此,是的。
【讨论】: