1

我想在fileName中从 x 处读取 10 个字节并保存到 bitLevel 我写道:

byte[] bitLevel = new byte[10];
using(FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
       fileStream.Read(bitLevel, x,10);
       //some code
}

但在 bitLevel 中什么都没有,我迷路了?

4

1 回答 1

2

更新: 听起来您的程序可能没有在正确的位置查找文件。在打开文件之前尝试添加以下内容以验证文件的完整路径以及它是否存在。如果这是问题所在,请检查Project Properties的Debug选项卡下的Working Directory

fileName = Path.GetFullPath(fileName);
System.Diagnostics.Debug.Assert(File.Exists(fileName), "Error: Could not find " + fileName);

Read函数的第二个参数指定将放置读取字节的数组中的字节偏移量。它没有指定要读取的流中的偏移量。使用Seek函数设置流的读取位置。

using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
   fileStream.Seek(x, SeekOrigin.Begin);
   fileStream.Read(bitLevel, 0, 10);
   //some code
}
于 2012-04-09T09:58:54.437 回答