Un StreamWriter
serve per scrivere testo a un ruscello. Utilizza sempre una codifica e se non ne specifichi una quando la crei utilizzerà UTF-8 (senza un byte order mark - BOM). L'output che ottieni è il codificatore UTF-8 che cerca di tradurre il testo (sotto forma di singoli caratteri) in UTF-8.
Se vuoi scrivere byte in uno stream, scrivi semplicemente nello stream direttamente usando Write
metodo che accetta un array di byte. Se vuoi scrivere su un file puoi creare un FileStream
e usalo come stream.
La denominazione delle classi all'interno di System.IO
lo spazio dei nomi può creare confusione a volte:
Stream
è una classe base astratta che fornisce metodi per leggere e scrivere byteFileStream
è unStream
che legge e scrive su un fileBinaryWriter
ti permette di scrivere tipi primitivi in forma binaria in unStream
TextWriter
è una classe base astratta che ti permette di scrivere del testoStreamWriter
è unTextWriter
che ti permette di scrivere del testo su unStream
Probabilmente dovresti usare FileStream
o BinaryWriter
sopra un FileStream
per risolvere il tuo problema.