就应用而言,BufferedStream和MemoryStream有什么区别?
由于MemoryStream可以随时刷新到文件中,因此它不能代替BufferedStream吗?

最佳答案

BufferedStream 只是现有流上的缓冲区。 MemoryStream 是整个流的缓冲区-它没有链接到另一个流。您可以随时要求它自己将其写入另一个流,但这不是同一回事。

缓冲的主要原理之一是避免频繁写入昂贵的资源。但是,这并不意味着您想要将所有数据缓冲在内存中-只是足以避免非常小的写入。例如,如果FileStream没有自己的缓冲策略,那么即使将其写入兆字节,将其包装在BufferedStream中也可能最终只有8K的缓冲区。正如评论中指出的那样, FileStream has enough buffering that using BufferedStream in conjunction with it is pointless

09-17 04:18