写入文件时,FileStream与System.IO.File.WriteAllText
本文关键字:System IO File WriteAllText FileStream 文件 | 更新日期: 2023-09-27 18:20:27
我看过许多关于VB.NET或C#.NET的示例/教程,其中作者使用FileStream
写入/读取文件。我的问题是,这种方法比使用System.IO.File.Read/Write
有什么好处吗?为什么大多数使用FileStream
的例子只需一行代码就可以实现呢?
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);
}