Saya mencoba menulis Byte[]
array yang mewakili file lengkap ke file.
File asli dari klien dikirim melalui TCP dan kemudian diterima oleh server. Aliran yang diterima dibaca ke array byte dan kemudian dikirim untuk diproses oleh kelas ini.
Ini terutama untuk memastikan bahwa penerima TCPClient
siap untuk aliran berikutnya dan memisahkan ujung penerima dari ujung pemrosesan.
The FileStream
kelas tidak mengambil array byte sebagai argumen atau objek Streaming lain (yang tidak memungkinkan Anda untuk menulis byte untuk itu).
Saya bertujuan untuk mendapatkan pemrosesan yang dilakukan oleh utas yang berbeda dari aslinya (yang dengan TCPClient).
Saya tidak tahu bagaimana menerapkannya, apa yang harus saya coba?
BinaryWriter
dapat digunakan jadi mungkin harus digunakan dalamusing
blok. Itu juga berarti Anda mungkin dapat menghentikan beberapa panggilan ekstra karena kode sumber menunjukkan bahwa ia melakukan pembersihan saat membuang.Ada metode statis
System.IO.File.WriteAllBytes
sumber
Anda dapat melakukan ini menggunakan
System.IO.BinaryWriter
yang membutuhkan Stream jadi:sumber
Flush()
sebelumnyaClose()
karenaClose()
akan memerah. Bahkan lebih baik adalah menggunakanusing
klausa yang juga akan flush'n'close.Anda dapat menggunakan metode FileStream.Write (byte [], int offset, int count) untuk menuliskannya.
Jika nama array Anda adalah "myArray" kodenya.
sumber
Yap, mengapa tidak?
sumber
Coba BinaryReader:
sumber