Bagaimana untuk Menambah Data dengan Cekap pada Fail dalam Node.js?

Susan Sarandon
Lepaskan: 2024-11-24 08:01:09
asal
190 orang telah melayarinya

How to Efficiently Append Data to Files in Node.js?

Menambah pada Fail dalam Node.js

Apabila cuba menambahkan rentetan pada fail log, menggunakan writeFile boleh mengakibatkan pemadaman yang sedia ada kandungan. Untuk menangani isu ini, Node.js menyediakan kaedah alternatif untuk menambahkan data pada fail.

Kaedah Mudah: AppendFile

Untuk tambahan sekali-sekala, appendFile boleh digunakan. Ia mencipta pemegang fail baharu dengan setiap seruan:

Secara tak segerak:

const fs = require('fs');

fs.appendFile('message.txt', 'data to append', (err) => {
  if (err) throw err;
  console.log('Saved!');
});
Salin selepas log masuk

Segerak:

const fs = require('fs');

fs.appendFileSync('message.txt', 'data to append');
Salin selepas log masuk

Kaedah Cekap: Fail Boleh Digunakan Semula Pemegang

Untuk penambahan berulang pada fail yang sama, lebih cekap menggunakan semula pemegang fail. Pendekatan ini melibatkan membuka pemegang fail sekali, melaksanakan berbilang lampiran dan menutup pemegang apabila selesai:

const fs = require('fs');

const fd = fs.openSync('message.txt', 'a'); // Open file for appending
fs.writeSync(fd, 'data to append', null, 'utf-8'); // First append
// ... subsequent appends
fs.closeSync(fd); // Close file handle
Salin selepas log masuk

Nota Prestasi:

Untuk sejumlah besar menambah, menggunakan semula pemegang fail dengan ketara meningkatkan prestasi berbanding dengan berulang kali memanggil appendFile. Walau bagaimanapun, untuk lampiran yang jarang berlaku, kemudahan appendFile mungkin melebihi manfaat prestasi.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Data dengan Cekap pada Fail 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