我想读取一个文件,但不是从文件的开头而是在文件的特定位置。例如我想读取文件开头后 977 个字符后的文件,然后一次读取接下来的 200 个字符。谢谢。
最佳答案
如果你想以文本形式读取文件,跳过字符(不是字节):
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);
}
如果您只想跳过一定数量的字节(不是字符):
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);
}
关于c# - 如何从 C# 中的特定光标点开始读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392167/