操作后File.AppendAllText是否关闭文件

JL.*_*JL. 9 c# file-io

执行操作后,以下是否关闭文件?:

System.IO.File.AppendAllText(path, text);
Run Code Online (Sandbox Code Playgroud)

是的,不,不够吗?

Jon*_*eet 15

是的,它确实.

如果没有,之后就无法关闭它,因为它不会返回任何东西来处置.

来自文档:

给定字符串和文件路径,此方法将打开指定的文件,将字符串附加到文件的末尾,然后关闭该文件.

其他实用程序方法(ReadAllText,WriteAllBytes等)的工作方式相同.


Mar*_*iev 5

这是方法的代码:

public static void AppendAllText(string path, string contents, Encoding encoding)
{
    using (StreamWriter writer = new StreamWriter(path, true, encoding))
    {
        writer.Write(contents);
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,是的.

  • 除非你绝对必须,否则我认为依靠实施细节并不是一个好主意.实现可以改变.幸运的是,在这种情况下,它是明确记录的. (3认同)