Это должно сделать это
var data = new byte[10];
int actualRead;
using (FileStream fs = new FileStream("c:\\MyFile.bin", FileMode.Open)) {
fs.Position = 50;
actualRead = 0;
do {
actualRead += fs.Read(data, actualRead, 10-actualRead);
} while (actualRead != 10 && fs.Position < fs.Length);
}
После завершения data
будет содержать 10 байтов между смещением файла от 50 до 60, а actualRead
будет содержать число от 0 до 10, указывающее, сколько фактически было прочитано байтов (это интересно, когда файл имеет не менее 50, но менее 60 байт). Если размер файла менее 50 байт, вы увидите EndOfStreamException
.