performance - 字节数组和MemoryStream之间的区别

标签 performance comparison

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

将文件保存为流(MemoryStream或FileStream)是否有好处,还是应该将其转换为byte []数组?

基思

最佳答案

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

如果将输入和输出文件添加到方案中,则可能需要考虑将它们分别包装在BinaryReaderBinaryWriter中。

关于performance - 字节数组和MemoryStream之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16939/

相关文章:

mysql - 推荐 "to optimize the response time of an SQL query"

c# - MongoDb C# 驱动程序在日期时间比较中引发序列化错误

python - 仅当单独的 boolean 列表中的元素为真时,才对 python 列表中的元素求和

SQL 比较工具

c++ - 'a' == 'b' 。这是个好办法吗?

MySQL 查询 - 更好的性能和更具体的 JOIN?

java - 奇怪的分析结果 : definitely non-bottleneck method pops up

mysql - 列出 MySQL 表外键的高效方法?

java - Java中多维数组的遍历性能

不使用比较运算符比较两个数字