【发布时间】:2020-05-08 09:32:22
【问题描述】:
如果给我一个.cmp 文件和一个字节偏移量0x598,我如何从这个偏移量读取文件?
我当然可以像这样读取文件字节
byte[] fileBytes = File.ReadAllBytes("upgradefile.cmp");
但是我如何从字节偏移0x598读取它
为了解释更多,实际上我必须从这个偏移量开始读取实际数据,在这个字节偏移量之前它只是头数据,所以基本上我必须从那个偏移量读取文件直到结束。
【问题讨论】:
-
FileStream.Seek + FileStream.Read(或
.ReadSync()) -
@Jimi - 实际上我对
byte offset这个词感到困惑,因为 seek 期望位置以long类型传递,所以它会根据字节寻找位置吗? -
您的偏移量是
0x598。这就是您传递给Seek()方法的内容。当然是指定SeekOrigin.Begin。 -
微软为我们提供了大部分 .NET 的源代码。您可以查看File.ReadAllBytes 是如何实现的,获取该代码,然后随意更改它。
标签: c#