Ein StreamWriter dient zum Schreiben von Text zu einem Bach. Es verwendet immer eine Codierung, und wenn Sie beim Erstellen keine angeben, wird UTF-8 verwendet (ohne Byte-Order-Markierung - BOM). Die Ausgabe, die Sie erhalten, ist der UTF-8-Encoder, der versucht, den Text (in Form einzelner Zeichen) in UTF-8 zu übersetzen.
Wenn Sie Bytes schreiben möchten in einen Stream schreiben Sie einfach mit Write direkt in den Stream Methode, die ein Array von Bytes akzeptiert. Wenn Sie in eine Datei schreiben möchten, können Sie einen FileStream erstellen und verwende das als Stream.
Die Benennung von Klassen innerhalb der System.IO Namespace kann manchmal verwirrend sein:
Streamist eine abstrakte Basisklasse, die Methoden zum Lesen und Schreiben von Bytes bereitstelltFileStreamist einStreamdie eine Datei liest und schreibtBinaryWriterermöglicht es Ihnen, primitive Typen in binärer Form in einenStreamzu schreibenTextWriterist eine abstrakte Basisklasse, mit der Sie Text schreiben könnenStreamWriterist einTextWritermit dem Sie Text in einenStreamschreiben können
Sie sollten wahrscheinlich FileStream verwenden oder BinaryWriter auf einem FileStream um Ihr Problem zu lösen.