Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menambah Data dengan Cekap pada Fail dalam Node.js?

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

Susan Sarandon
Susan Sarandonasal
2024-11-24 08:01:09190semak imbas

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

Segerak:

const fs = require('fs');

fs.appendFileSync('message.txt', 'data to append');

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

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!

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