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

标签 c# file file-io

我想读取一个文件,但不是从文件的开头而是在文件的特定位置。例如我想读取文件开头后 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/

相关文章:

python - 使用 pyinotify 监视文件创建,但等待它完全写入磁盘

javascript - 使用 Razor/C# 循环遍历 HTML 表以获取每个 <tr> 中的数据

validation - Unix 文件名中应限制哪些字符?

c# - 如何在 C# 中使用 AD 组名称查找 Active Directory 组电子邮件地址

c - 从文件中读取

java - 在 Windows 上的 Java 中检查文件是否为空的最有效方法

file - ASP.Net MVC - 从 HttpPostedFileBase 读取文件而不保存

python - 如果使用 Python fileinput.FileInput(...) 不存在该行,则尝试向文本文件添加该行时遇到问题

c# - 如何在 ASP.NET 中从 HttpInputStream 加载 excel 文件

c# - 使用 NSubstitute 进行依赖注入(inject)