「.bin」ファイルを完全に読み取り、ストリームを関数に渡す必要があります。バイトごとに値を読み取るために正常に機能するBinaryReaderで試してみました。ファイル全体を文字列ストリームとして関数に渡したいのですが、StreamReaderを使用すると、ガベージ情報が得られます。StreamReaderがbinファイルを正しく読み取れないようです。
前もって感謝します。
「.bin」ファイルを完全に読み取り、ストリームを関数に渡す必要があります。バイトごとに値を読み取るために正常に機能するBinaryReaderで試してみました。ファイル全体を文字列ストリームとして関数に渡したいのですが、StreamReaderを使用すると、ガベージ情報が得られます。StreamReaderがbinファイルを正しく読み取れないようです。
前もって感謝します。
バイナリ データを として渡さないでくださいstring
。代わりに、あなたがそれを読んだ可能性のあるものbyte[]
から切り離されたものを使用してください。テキストを読むStream
のは正しいので、またはメソッドを直接使用する必要があります。読み取り元のストリームでシークが許可されている場合 (プロパティを通じて公開されている場合)、そのストリームを検出して、ストリームからすべてのバイトを一度に読み取ることができます。StreamReader
BinaryReader
Stream.Read()
CanSeek
Length
Read()
ただし、ストリームが非常に大きい場合、またはシークをサポートしていない場合は、メソッドが戻るまで0
(つまり、ストリームの最後に到達したことを意味します) 、チャンクで読み取ることにより、読み取りをもう少し精巧にする必要があります。
バイナリ データの読み取りに相当するものはありませStreamReader.ReadToEnd()
んが、拡張メソッドとして定義することはそれほど難しくありません。