質問

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

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

キース

役に立ちましたか?

解決

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

入力ファイルと出力ファイルを 1 つのファイルにラップすることを検討するとよいでしょう。 BinaryReader そして BinaryWriter シナリオに価値を追加する場合はそれぞれ。

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top