StreamReader vs BinaryReader?

Les deux StreamReader et BinaryReader peut être utilisé pour obtenir des données à partir d'un fichier binaire ( par exemple )

BinaryReader :

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

StreamReader :

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

Quelle est la différence et quand dois-je utiliser qui ?

  • L'un est adapté pour les fichiers texte, l'autre pour les fichiers binaires? Comme vous le même échapper à votre exemple de code.
  • Houldsworth utf8 chaîne peut contenir des données binaires aussi.
  • Oui, mais sans doute codé comme une chaîne UTF-8... donc pour l'essentiel serait de texte.
  • n'est pas une chaîne utf8 peut contenir n'importe quelle info ?
  • la chaîne peut contenir des données binaires" - que considérez-vous comme "données binaires" ?
  • pour eaxmple : voir le jpeg contenu dans total commander
  • tu veux dire les caractères de contrôle et d'octets en dehors de la plage ASCII?
  • ouais.

InformationsquelleAutor Royi Namir | 2012-04-27