Is it possible to read a large binary file from a particular position?
I don't want to read the file from the beginning because I can calculate the start position and the length of the stream I need.
Is it possible to read a large binary file from a particular position?
I don't want to read the file from the beginning because I can calculate the start position and the length of the stream I need.
using (FileStream sr = File.OpenRead("someFile.dat"))
{
sr.Seek(100, SeekOrigin.Begin);
int read = sr.ReadByte();
//...
}
According to @shenhengbin answord.
Use BinaryReader.BaseStream.Seek
.
using (BinaryReader b = new BinaryReader(File.Open("perls.bin", FileMode.Open)))
{
int pos = 50000;
int required = 2000;
// Seek to our required position.
b.BaseStream.Seek(pos, SeekOrigin.Begin);
// Read the next 2000 bytes.
byte[] by = b.ReadBytes(required);
}
Well if you know streams, why not using (File)Stream.Seek(...) ?
Of course it is possible.See this here.See the offset.you can read from the offset
© 2022 - 2024 — McMap. All rights reserved.
Position
property, or use theSeek
method. Are you worried that the entire file is loaded into memory? – Fronia