如何从C#中的特定光标点开始读取文件?

sla*_*lao 2 c# file-io writing file

我想读取文件但不是从文件的开头但是在文件的特定位置.例如,我想在文件开头之后读取977个字符后的文件,然后一次读取接下来的200个字符.谢谢.

Phi*_*unt 5

如果要将文件作为文本读取,则跳过字符(而不是字节):

using (var textReader = System.IO.File.OpenText(path))
{
    // read and disregard the first 977 chars
    var buffer = new char[977];
    textReader.Read(buffer, 0, buffer.Length);

    // read 200 chars
    buffer = new char[200];
    textReader.Read(buffer, 0, buffer.Length);
}
Run Code Online (Sandbox Code Playgroud)

如果您只想跳过一定数量的字节(而不是字符):

using (var fileStream = System.IO.File.OpenRead(path))
{
    // seek to starting point
    fileStream.Seek(977, SeekOrigin.Begin);

    // read 200 bytes
    var buffer = new byte[200];
    fileStream.Read(buffer, 0, buffer.Length);
}
Run Code Online (Sandbox Code Playgroud)