代码之家  ›  专栏  ›  技术社区  ›  Keith Sirmons

字节数组和内存流之间的差异

  •  18
  • Keith Sirmons  · 技术社区  · 16 年前

    我正在将一个二进制文件读取到一个解析程序中。我将需要遍历该文件并查找某些标记,以便将该文件拆分并将这些部分传递到各自的对象构造函数中。

    将文件保存为流(memorystream或file stream)有什么好处,还是应该将其转换为byte[]数组?

    基思

    2 回复  |  直到 12 年前
        1
  •  25
  •   Patrick D'Souza ob1    12 年前

    byte[] MemoryStream 都需要将整个文件放入内存中。一 内存流 实际上是一个底层字节数组的包装器。最好的办法是有两个 FileStream (一个用于输入,一个用于输出)。从输入流中读取,查找用于指示在写入当前输出文件时应将文件分隔开的模式。

    您可能需要考虑将输入和输出文件包装在 BinaryReader BinaryWriter 如果它们为您的场景增加了价值。

        2
  •  8
  •   Timbo    16 年前

    内存流基本上是一个带有流接口的字节数组,例如顺序读/写和当前位置的概念。