私はバイナリファイルを持っています。これは4つのメッセージで構成され、それぞれのサイズは100バイトです。 最後の2つのメッセージをもう一度読んでみたいです。私はBinaryReaderオブジェクトを使用しています。 私は200の罰金を求め、次に私は次のように読みます:BinaryReaderObject.read(charBuffer、0、10000)、 ここで、charBufferは大きなenougthです。 私は読書のマウントが常に欠けている1つの時間を得る。200を得る代わりに私は199を得る。400を得る代わりに私は399を得る。 私はファイルのサイズが正しいことと私が得るデータを見た正しい場所から始まります。ファイルの読み込みC#.NET
Thnaks、
右。私も同じことを考えていましたが、数字は大丈夫です(つまり、最初のレコードは0から99に、2番目のレコードは100で始まり、199に続きます...など)。 200位を目指すことは、第3の記録のスタートのための適切な場所のように思える。 –
私が読んだファイルの中で、どこで0を基準にしていますか? 私が言ったように、データが正しく開始し、私が戻ってくるデータの量が足りませんonr –
コンピュータはゼロから数えます。配列の最初の要素は0、2番目は1などです。これはゼロベースの配列と呼ばれます。それはゼロから始まるからです。ファイルは0から始まるバイトの配列として扱われます。したがって、位置200は、あなたが直面しているoff-by-oneエラーを説明する '通常の'カウントによって201番目のバイトです。 –