Pengenalan:
Memproses fail teks besar (melebihi 100MB) dengan cekap dalam C# memerlukan pertimbangan yang teliti. Hanya menggunakan StreamReader.ReadToEnd()
boleh menyebabkan kesesakan prestasi yang ketara. Artikel ini menggariskan pendekatan bacaan yang lebih cekap dan tersusun menggunakan strim.
Strategi Membaca Dipertingkat:
Untuk prestasi optimum dengan fail besar, kami mengesyorkan yang berikut:
BufferedStream
untuk membalut FileStream
. Langkah penting ini menyimpan data cache, meminimumkan operasi I/O cakera.StringBuilder
) ke urutan utama setelah selesai.Memanfaatkan BufferedStream:
BufferedStream
mempercepatkan bacaan dengan ketara dengan menyimpan data dalam memori. Kaedah Read
dan Write
nya mengendalikan pengurusan penimbal secara automatik.
Mengoptimumkan StringBuilder:
Pra-saiz StringBuilder
dengan panjang strim yang diketahui (jika ada) menghalang pengagihan semula berulang, meningkatkan lagi kecekapan.
Penambahbaikan Selanjutnya:
Pertimbangan Platform:
BufferedStream
secara amnya lebih ketara dalam .NET 3.x (32-bit) berbanding dalam .NET 4.5 (64-bit).BufferedStream
menyediakan peningkatan prestasi yang ketara.Atas ialah kandungan terperinci Bagaimanakah saya dapat membaca fail teks besar dalam C# menggunakan aliran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!