Lee el archivo asignado en memoria o conoce su tamaño para leerlo correctamente
En esta pregunta,
hay un problema, el(int)stream.Length
no me está dando la longitud correcta, sino que da el tamaño del búfer interno utilizado. Necesito actualizar esta pregunta porque es muy urgente.
La pregunta principal fue:
Necesito algo similar a ReadToEnd o ReadAllBytes para leer todo el contenido del MemoryMappedFile usando el MappedViewAccessor si no sé el tamaño, ¿cómo puedo hacerlo?
Lo he buscado, he visto esta pregunta, pero no es lo que estoy buscando:
¿Cómo puedo leer rápidamente los bytes de un archivo asignado en memoria en .NET?
La vieja respuesta fue:
pub
public static ReadMMFAllBytes(string fileName)
{
using (var mmf = MemoryMappedFile.OpenExisting(fileName))
{
using (var stream = mmf.CreateViewStream())
{
using (BinaryReader binReader = new BinaryReader(stream))
{
return binReader.ReadBytes((int)stream.Length));
}
}
}
}
En esta pregunta:
Memoria asignada a la longitud del archivo
No hay una respuesta exacta de la pregunta exacta! La pregunta es sobre algo más que el título.