Estoy tratando de escribir una Byte[]matriz que represente un archivo completo en un archivo.
El archivo original del cliente se envía a través de TCP y luego lo recibe un servidor. El flujo recibido se lee en una matriz de bytes y luego se envía para ser procesado por esta clase.
Esto es principalmente para garantizar que la recepción TCPClientesté lista para la siguiente secuencia y separe el extremo receptor del final del procesamiento.
La FileStreamclase no toma una matriz de bytes como argumento u otro objeto Stream (que sí le permite escribir bytes).
Mi objetivo es que el procesamiento sea realizado por un hilo diferente del original (el que tiene el TCPClient).
No sé cómo implementar esto, ¿qué debo probar?

BinaryWriteres desechable, por lo que probablemente debería usarse dentro de unusingbloque. Eso también significa que probablemente podría dejar algunas de las llamadas adicionales, ya que el código fuente muestra que hace un poco de limpieza mientras se deshace.Hay un método estático
System.IO.File.WriteAllBytesfuente
Puedes hacer esto usando el
System.IO.BinaryWriterque toma un Stream para:fuente
Flush()antes,Close()ya queClose()se vaciará. Aún mejor es usar unausingcláusula que también vaciará y cerrará.Puede usar el método FileStream.Write (byte [] array, int offset, int count) para escribirlo.
Si el nombre de su matriz es "myArray", el código sería.
fuente
Sí, ¿por qué no?
fuente
Prueba BinaryReader:
fuente