Acabo de tener una función aquí que la persona que llama desea el número de bytes y luego devuelve los bytes, pero si no hay suficientes bytes en el archivo, debe devolver una matriz más pequeña. ¿Hay un mejor enfoque para hacer esto? Me refiero a no obtener 2 matriz y usar BlockCopy
?¿Cómo obtener un mejor enfoque en la lectura de archivos?
byte[] GetPartialPackage(string filePath, long offset, int count)
{
using (var reader = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
reader.Seek(offset, SeekOrigin.Begin);
byte[] tempData = new byte[count];
int num = reader.Read(tempData, 0, count);
byte[] tempdata = new byte[num];
Buffer.BlockCopy(tempData, 0, tempdata, 0, num);
return tempdata;
}
}
y ¿qué tal la parte que busca ?! –
¡También utiliza 2 arrays y el método 'BlockCopy'! –
Disculpa, solo se actualizó para tener en cuenta el desplazamiento. Solo usa 1 matriz y no usa la copia de bloques ... – Ian