Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Membaca Baris Fail demi Baris dalam Node.js?

Bagaimanakah Saya Boleh Membaca Baris Fail demi Baris dalam Node.js?

Patricia Arquette
Patricia Arquetteasal
2024-12-06 22:11:13514semak imbas

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

Baca Fail Satu Baris pada Satu Masa dalam Node.js

Node.js menyediakan mekanisme yang cekap untuk memproses fail besar satu baris pada satu masa. Keupayaan ini penting untuk operasi intensif memori atau apabila berurusan dengan fail yang melebihi memori pelayan.

Untuk membaca fail baris demi baris dalam Node.js, anda boleh menggunakan pendekatan berikut:

Menggunakan Modul Teras baris baca (Node.js v0.12 )

Tawaran Node.js modul teras baris baca untuk lelaran baris fail yang lancar. Pertimbangkan kod berikut:

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();

Menggunakan Pakej 'readline'

Untuk versi Node.js sebelum v0.12, pakej 'readline' menyediakan penyelesaian alternatif:

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');
});

Dalam kedua-dua pendekatan, baris terakhir dibaca dengan betul walaupun tanpa baris baharu mengekori aksara.

Pertimbangan Tambahan

  • Pastikan bahawa laluan fail yang disediakan dalam 'createReadStream()' adalah tepat.
  • Kendalikan ralat dengan sewajarnya menggunakan cuba tangkap blok atau pendengar acara.
  • Modul baris baca acara 'tutup' dipancarkan apabila penghujung fail dicapai atau ralat berlaku.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Baris Fail demi Baris dalam Node.js?. 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