Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Membaca Baris Fail Teks Besar dengan Cekap dengan Baris dalam Node.js?

Bagaimanakah Saya Boleh Membaca Baris Fail Teks Besar dengan Cekap dengan Baris dalam Node.js?

Linda Hamilton
Lepaskan: 2024-12-07 02:35:15
asal
930 orang telah melayarinya

How Can I Efficiently Read a Large Text File Line by Line in Node.js?

Membaca Fail Teks Baris demi Baris dalam Node.js

membaca fail teks besar satu baris pada satu masa dalam Node.js boleh menjadi operasi penting untuk memproses set data yang luas. Walaupun soalan yang anda sebutkan daripada Quora menangani pembacaan daripada STDIN, artikel ini memfokuskan pada meluaskan konsep ini kepada membaca daripada fail teks.

Pendekatan awal, yang melibatkan fs.open, berfungsi sebagai asas. Langkah yang hilang ialah memanfaatkan modul Lazy untuk melaksanakan bacaan baris demi baris daripada deskriptor fail yang dibuka. Walau bagaimanapun, sejak Node.js v0.12, terdapat penyelesaian yang lebih mantap menggunakan modul teras baris baca terbina dalam.

Mari terokai dua pendekatan menggunakan readline:

const fs = require('fs');
const readline = require('readline');

async function processLineByLine() {
  const fileStream = fs.createReadStream('input.txt');

  const rl = readline.createInterface({
    input: fileStream,
    crlfDelay: Infinity
  });
  // Note: we use the crlfDelay option to recognize all instances of CR LF
  // ('\r\n') in input.txt as a single line break.

  for await (const line of rl) {
    // Each line in input.txt will be successively available here as `line`.
    console.log(`Line from file: ${line}`);
  }
}

processLineByLine();
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan:

var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.in')
});

lineReader.on('line', function (line) {
  console.log('Line from file:', line);
});

lineReader.on('close', function () {
    console.log('all done, son');
});
Salin selepas log masuk

Kedua-dua pendekatan memanfaatkan modul baris baca untuk membaca baris secara berkesan daripada fail teks satu pada satu masa. Baris terakhir dibaca dengan betul (setakat Node v0.12 atau lebih baru), walaupun tiada pemisah baris akhir.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Baris Fail Teks Besar dengan Cekap dengan Baris dalam Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan