Un StreamWriter
es para escribir texto a un arroyo Siempre usa una codificación y, si no especifica una cuando la crea, usará UTF-8 (sin una marca de orden de bytes - BOM). El resultado que obtiene es el codificador UTF-8 que intenta traducir el texto (en forma de caracteres individuales) a UTF-8.
Si desea escribir bytes a una transmisión, simplemente escriba en la transmisión directamente usando Write
método que acepta una matriz de bytes. Si desea escribir en un archivo, puede crear un FileStream
y úsalo como flujo.
El nombre de las clases dentro del System.IO
El espacio de nombres puede ser confuso a veces:
Stream
es una clase base abstracta que proporciona métodos para leer y escribir bytesFileStream
es unStream
que lee y escribe en un archivoBinaryWriter
le permite escribir tipos primitivos en forma binaria en unStream
TextWriter
es una clase base abstracta que le permite escribir textoStreamWriter
es unTextWriter
que le permite escribir texto en unStream
Probablemente deberías usar FileStream
o BinaryWriter
encima de un FileStream
para resolver su problema.