就应用而言,BufferedStream和MemoryStream有什么区别?
由于MemoryStream可以随时刷新到文件中,因此它不能代替BufferedStream吗?
最佳答案
BufferedStream
只是现有流上的缓冲区。 MemoryStream
是整个流的缓冲区-它没有链接到另一个流。您可以随时要求它自己将其写入另一个流,但这不是同一回事。
缓冲的主要原理之一是避免频繁写入昂贵的资源。但是,这并不意味着您想要将所有数据缓冲在内存中-只是足以避免非常小的写入。例如,如果FileStream
没有自己的缓冲策略,那么即使将其写入兆字节,将其包装在BufferedStream
中也可能最终只有8K的缓冲区。正如评论中指出的那样, FileStream
has enough buffering that using BufferedStream
in conjunction with it is pointless。