1

「.bin」ファイルを完全に読み取り、ストリームを関数に渡す必要があります。バイトごとに値を読み取るために正常に機能するBinaryReaderで試してみました。ファイル全体を文字列ストリームとして関数に渡したいのですが、StreamReaderを使用すると、ガベージ情報が得られます。StreamReaderがbinファイルを正しく読み取れないようです。

前もって感謝します。

4

1 に答える 1

0

バイナリ データを として渡さないでくださいstring。代わりに、あなたがそれを読んだ可能性のあるものbyte[]から切り離されたものを使用してください。テキストを読むStreamのは正しいので、またはメソッドを直接使用する必要があります。読み取り元のストリームでシークが許可されている場合 (プロパティを通じて公開されている場合)、そのストリームを検出して、ストリームからすべてのバイトを一度に読み取ることができます。StreamReaderBinaryReaderStream.Read()CanSeekLength

Read()ただし、ストリームが非常に大きい場合、またはシークをサポートしていない場合は、メソッドが戻るまで0(つまり、ストリームの最後に到達したことを意味します) 、チャンクで読み取ることにより、読み取りをもう少し精巧にする必要があります。

バイナリ データの読み取りに相当するものはありませStreamReader.ReadToEnd()んが、拡張メソッドとして定義することはそれほど難しくありません。

于 2011-10-17T23:55:25.353 に答える