另外,这两个流对于内存的占用哪个更大?
资料说内存流是把数据全部塞到内存里,但是文件流可以结合缓冲流进行读写,是不是文件流对内存占用更小一些?
现在对一种结构比较复杂的二进制数据进行读写操作,虽然大于100M的情况很少,但是也的确有过,不知道哪个对内存的要求少一些,还是说主要关注点应该放在GC上?
什么时候建议使用FileStream?
需要持久化存储为文件,或者内存太小不够处理的时候
什么时候使用MemoryStream?
处理临时数据流,内存足够大。方便计算处理
这两个流对于内存的占用哪个更大?
当然是MemoryStream,所有数据都在内存
如果非常希望节约内存占用率,可以将数据存储到文件,需要的时候读取一部分数据进行处理。不过别忘了磁盘IO是有性能损失的
现在随着实践,确实MemoryStream在内存里,作为片段数据可以存在这,然后待此片段写入完毕,丢去文件流写入磁盘不错