19

バイナリファイルを解析プログラムに読み込んでいます。ファイルを反復処理して特定のマーカーを探す必要があります。これにより、ファイルを分割して、それらの部分をそれぞれのオブジェクトのコンストラクターに渡すことができます。

ファイルをMemoryStreamまたはFileStreamのいずれかのストリームとして保持することには利点がありますか、それともbyte []配列に変換する必要がありますか?

キース

4

2 に答える 2

26

Abyte[]またはMemoryStream両方の場合、ファイル全体をメモリに取り込む必要があります。AMemoryStreamは実際には、基になるバイト配列のラッパーです。最良のアプローチは、2 つFileStream(入力用と出力用に 1 つ) を用意することです。現在の出力ファイルへの書き込み中に、ファイルを分離する必要があることを示すために使用されるパターンを探して、入力ストリームから読み取ります。

シナリオに価値を追加する場合は、入力ファイルと出力ファイルBinaryReaderをそれぞれ と でラップすることを検討することをお勧めします。BinaryWriter

于 2008-08-19T21:12:20.040 に答える
9

MemoryStreamは基本的に、ストリームインターフェイスを備えたバイト配列です。たとえば、シーケンシャルな読み取り/書き込みや現在の位置の概念などです。

于 2008-08-19T21:06:55.747 に答える