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 PropertiesDebugタブでWorking Directoryを確認してください。

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

Read関数の 2 番目のパラメーターは、読み取りバイトが配置される配列内のバイト オフセットを指定します。読み取るストリーム内のオフセットを指定しません。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 に答える