Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 38466|Jawab: 0

[Kiat] Cara menyimpan aliran ke file di C#/.NET

[Salin tautan]
Dipaparkan pada 2021-5-16 21:12:58 | | |
Melihat beberapa posting blog online tentang menyimpan Stream ke file,Banyak yang salah。 (Saya menemukan beberapa masalah: kinerja buruk, tidak normal saat aliran terlalu besar)

Setelah mendapatkan Stream, cara menyimpan Stream ini ke kode dengan elegan

Metode yang paling elegan harus melalui metode CopyTo atau CopyToAsync


di sini inputStream.Seek(0, SeekOrigin.Begin); Belum tentu, silahkan gunakan kode ini sesuai dengan kebutuhan Anda sendiri, seperti Anda hanya perlu menyalin aliran dari byte ke-10, dll

Menggunakan pendekatan asinkron akan memakan waktu sedikit lebih lama untuk penulisan ini, tetapi akan memberikan kinerja keseluruhan yang lebih baik dan memungkinkan CPU untuk menangani tugas lain




Perhatikan bahwa saat menggunakan CopyToAsync, ingatlah untuk menambahkan menunggu, saat mengeksekusi kode ini, Anda akan menyerahkan eksekusi ke IO, sebagian besar pemrosesan IO tidak memerlukan CPU untuk menghitung, sehingga kinerja keseluruhan bisa lebih baik

Juga, jika iputStream masuk dari luar, maka saya tidak merekomendasikan untuk merilisnya di dalam metode ini, mengapa? Saya menggunakan aliran yang bagus dan itu mati ketika saya lulus dalam bisnis

Metode kedua adalah mengontrol cache replikasi memori sendiri, yang akan memiliki salinan memori tambahan


Apa yang dilakukan metode ini adalah memungkinkan Anda untuk memodifikasi nilai byte baru[1024], memberi Anda kendali atas cache yang disalin

Selanjutnya adalah beberapa metode yang tidak disarankan, tetapi nyaman saat menulis


Metode di atas akan menyalin memori dua kali, dan jika panjang sumber daya input adalah 1G, itu akan menempati sumber daya 2G

Mirip dengan di atas adalah meminta cache besar, seperti yang ditunjukkan pada kode berikut


Dalam hal efisiensi dan keanggunan kode, mereka sebenarnya lebih rendah dari metode CopyTo, dan karena streaming. Panjang sebagai panjang tidak menentukan cache, jadi tidak sebaik metode kedua

Di bawah ini adalah metode super lambat, penulisan satu byte demi satu byte sangat lambat


Ditransfer dari:Login hyperlink terlihat.
(Akhir)




Mantan:Penjelasan Detail Operasi NPOI Excel
Depan:X-Forwarded-Untuk beberapa alamat IP di header permintaan HTTP
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com