24

我看过很多关于 VB.NET 或 C#.NET 的示例/教程,其中作者使用 aFileStream来写入/读取文件。我的问题是这种方法比使用有什么好处System.IO.File.Read/Write吗?为什么大多数示例都使用FileStreamto 而仅使用一行代码就可以实现?

4

1 回答 1

47

FileStream让您对写入文件有更多的控制,这在某些情况下可能是有益的。它还允许您在不放弃控制的情况下保持文件句柄打开并连续写入数据。流的一些用例:

  • 多个输入
  • 来自内存/网络流的实时数据。

System.IO.File包含用于基本操作(例如保存文件、将文件读取到行等)的文件操作的包装器。它只是对FileStream.

从 .NET 源代码来看,这里是WriteAllText内部的:

private static void InternalWriteAllText(string path,
    string contents, Encoding encoding)
{
    Contract.Requires(path != null);
    Contract.Requires(encoding != null);
    Contract.Requires(path.Length > 0);
    using (StreamWriter sw = new StreamWriter(path, false, encoding))
        sw.Write(contents);
}
于 2013-06-29T13:09:20.053 回答