44

との両方StreamReaderBinaryReader使用して、バイナリファイルからデータを取得できます(たとえば)

BinaryReader:

   using (FileStream fs = File.Open(@"c:\1.bin",FileMode.Open))
            {
                    byte[] data = new BinaryReader(fs).ReadBytes((int)fs.Length);
                    Encoding.getstring....
            }

StreamReader:

  using (FileStream fs = File.Open(@"c:\1.bin",FileMode.Open))
            {
                using (StreamReader sr = new StreamReader(fs,Encoding.UTF8))
                {
                       var myString=sr.ReadToEnd();
                }
            }

違いは何ですか?いつどのを使用する必要がありますか?

4

1 に答える 1

82

StreamReader と BinaryReader の両方を使用して、バイナリ ファイルからデータを取得できます。

テキストStreamReaderのバイナリ表現からテキスト データを取得するために使用できます。

BinaryReader任意のバイナリ データを取得するために使用できます。そのバイナリ データの一部がたまたまテキストの表現である場合、それは問題ありませんが、そうである必要はありません。

結論:

  • データ全体がテキスト データの単純なバイナリ エンコーディングである場合は、StreamReader.
  • 基本的に、テキストに一部が含まれている可能性のあるバイナリデータを取得している場合は、次を使用しますBinaryReader

たとえば、JPEG ファイルStreamReader.

于 2012-04-27T15:59:29.227 に答える