Pregunta

Estoy leyendo un archivo binario en un programa de análisis.Necesitaré recorrer el archivo y buscar ciertos marcadores para poder dividir el archivo y pasar esas partes a los constructores de sus respectivos objetos.

¿Existe alguna ventaja en mantener el archivo como una secuencia, ya sea MemoryStream o FileStream, o debería convertirse en una matriz de bytes []?

keith

¿Fue útil?

Solución

A byte[] o MemoryStream ambos requerirán traer el archivo completo a la memoria.A MemoryStream es en realidad un contenedor alrededor de una matriz de bytes subyacente.El mejor enfoque es tener dos FileStream (uno para entrada y otro para salida).Lea desde el flujo de entrada buscando el patrón utilizado para indicar que el archivo debe separarse mientras se escribe en el archivo de salida actual.

Es posible que desee considerar empaquetar los archivos de entrada y salida en un BinaryReader y BinaryWriter respectivamente si agregan valor a su escenario.

Otros consejos

Un MemoryStream es básicamente una matriz de bytes con una interfaz de flujo, p.lectura/escritura secuencial y el concepto de posición actual.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top