FileStream vs/differences StreamWriter?
题:
.Net中的
您应该使用什么上下文? 它们的优缺点是什么?
可以将这两者合二为一吗?
What is different between FileStream and StreamWriter in dotnet?
What context are you supposed to use it? What is their advantage and disadvantage?
当您具有
Is it possible to combine these two into one?
是。您始终需要一个Stream才能创建StreamWriter。辅助方法
FileStream写入字节,StreamWriter写入文本。就这样。
FileStream明确用于工作文件。
StreamWriter可用于流式传输到任何类型的流-网络套接字,文件等。
ScottGu在这里很好地解释了不同的Stream对象:http://www.codeguru.com/Csharp/Csharp/cs_data/streaming/article.php/c4223
好吧,从MSDN for
Exposes a Stream around a file, supporting both synchronous and asynchronous read and write operations.
和
Implements a TextWriter for writing characters to a stream in a particular encoding.
最明显的区别是
StreamWriter is designed for character output in a particular encoding, whereas classes derived from Stream are designed for byte input and output.
所以第二个区别是
它们是用于将信息输出到已知数据源的两个不同级别。
一个关键的区别(除了上面的注释之外)可能是FileStream支持对任何指定的FileStream.Position进行随机磁盘访问的读写。对于大文件修改,这可能是无价的。