为了使用File.CreateText(),File.AppendText()您必须:
为了使用它,只需使用它,它还将创建文件(如果尚不存在)。File.AppendAllText()
我正在谈论.Net 3.5
当时是否有任何理由像上述第一种方法那样进行?
当我们看一下实现时,File.AppendAllText我们发现它是一个快捷方式,实现如下:
using (StreamWriter sw = new StreamWriter(path, true, encoding))
sw.Write(contents);
Run Code Online (Sandbox Code Playgroud)
其他方法打开一个流并返回它,然后由调用者编写,传递,等等。
总是很难问到这种设计决定背后的原因。在这种情况下,这似乎很明显:“ All”前缀表明调用方将具有应立即写入的完整字符串,并且不需要保持流打开-为方便起见添加了它,因为这是一个频繁使用案例。
为此,我从Petzold找到了这句话:
但是,在.NET 2.0中,一些附加的静态方法被添加到File类中,这在很大程度上具有意义。这些方法使您可以在一条语句中打开,读取(或写入)和关闭文件。
完全删除以前的方法而使用简化的方法将意味着灵活性上的损失-开发人员仍然会遇到需要使用流的情况。