字节数组和 MemoryStream 之间的区别
-
08-06-2019 - |
题
我正在将二进制文件读入解析程序。我需要遍历文件并查找某些标记,以便我可以拆分文件并将这些部分传递到各自对象的构造函数中。
将文件保存为流(MemoryStream 或 FileStream)是否有优势,或者应该将其转换为 byte[] 数组?
基思
解决方案
A byte[]
或者 MemoryStream
两者都需要将整个文件放入内存。A MemoryStream
实际上是底层字节数组的包装器。最好的方法是有两个 FileStream
(一个用于输入,一个用于输出)。从输入流中读取,查找用于指示在写入当前输出文件时应分隔文件的模式。
您可能需要考虑将输入和输出文件包装在 BinaryReader
和 BinaryWriter
分别是否它们为您的场景增加了价值。
其他提示
MemoryStream 基本上是一个带有流接口的字节数组,例如顺序读/写和当前位置的概念。
不隶属于 StackOverflow