Rumah >pembangunan bahagian belakang >C++ >Apakah Cara Paling Cekap untuk Mengira Baris dalam Fail Teks?

Apakah Cara Paling Cekap untuk Mengira Baris dalam Fail Teks?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-11 06:13:42572semak imbas

What's the Most Efficient Way to Count Lines in a Text File?

Statistik kiraan baris fail teks: analisis perbandingan kaedah

Pengaturcara selalunya perlu mengira bilangan baris dalam fail teks. Walaupun nampak mudah, terdapat pelbagai kaedah dengan kecekapan yang berbeza-beza. Mari kita terokai dua kaedah biasa.

Kaedah 1: Gunakan ReadAllLines

Kelas

File menyediakan kaedah kemudahan ReadAllLines yang membaca keseluruhan kandungan fail ke dalam tatasusunan rentetan. Setiap elemen tatasusunan ini mewakili baris fail. Dengan menyemak panjang tatasusunan, bilangan baris boleh ditentukan.

<code class="language-csharp">var lineCount = File.ReadAllLines(@"C:\file.txt").Length;</code>

Jika anda perlu memproses setiap baris fail, kaedah ini cekap kerana ia membaca semua baris sekaligus. Walau bagaimanapun, untuk fail yang besar, ia boleh menggunakan banyak memori.

Kaedah 2: Gunakan ReadLine

Sebagai alternatif, anda boleh menggunakan kaedah ReadLine untuk lelaran melalui fail baris demi baris. Kaedah ini memerlukan membuka fail menggunakan File.OpenText dan kemudian menggunakan while untuk menggelungkan setiap baris dan menambah pembolehubah kiraan baris.

<code class="language-csharp">var lineCount = 0;
using (var reader = File.OpenText(@"C:\file.txt"))
{
    while (reader.ReadLine() != null)
    {
        lineCount++;
    }
}</code>

Kaedah ini lebih cekap memori kerana ia hanya membaca satu baris pada satu masa, jadi ia sesuai untuk memproses fail teks besar yang tidak akan menyebabkan kekangan memori.

Dari segi prestasi, kecekapan kedua-dua kaedah bergantung pada saiz fail dan butiran pelaksanaan khusus. Untuk fail kecil, ReadAllLines mungkin lebih pantas, tetapi untuk fail besar, overhed memori mungkin menjadi isu, menjadikan ReadLine lebih sesuai.

Akhirnya, kaedah yang mana untuk dipilih bergantung pada sifat dan keperluan khusus permohonan anda. Jika kelajuan adalah keutamaan, ReadAllLines mungkin merupakan pilihan yang lebih baik jika kecekapan memori adalah kritikal, ReadLine diutamakan.

Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mengira Baris dalam Fail Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn