Deskripsi metode:
Menulis ke file (sesuai dengan deskriptor file), fungsinya mirip dengan fs.writeFile (), tetapi metode ini menyediakan operasi yang lebih mendasarinya. Disarankan untuk menggunakan beberapa fs.writeFile () dalam aplikasi aktual.
Metode ini hadir dalam dua bentuk:
1. Fs.write (FD, buffer, offset, panjang [, posisi], [callback (err, byteswritten, buffer)])
Cara menulis ini menulis buffer ke file (temukan file sesuai dengan file deskriptor FD).
2. Fs.write (fd, data [, position [, encoding]], [callback (err, tertulis, string)])
Cara menulis ini menulis data ke file (temukan file sesuai dengan file deskriptor FD). Jika data bukan nilai instance dari buffer, itu akan dilemparkan ke string.
tata bahasa:
Salinan kode adalah sebagai berikut:
fs.write (fd, buffer, offset, length [, position], [callback (err, byteswritten, buffer)]))
fs.write (fd, data [, position [, encoding]], [callback (err, tertulis, string)]))
Karena metode ini milik modul FS, perlu untuk memperkenalkan modul FS sebelum digunakan (var fs = membutuhkan ("fs"))
Menerima parameter:
Deskriptor File FD.
Buffer, data akan ditulis. Pengaturan ukuran buffer lebih disukai kelipatan 8, yang lebih efisien.
Offset Write to Offset Buffer
Panjang (Integer) Menentukan panjang byte pembacaan file
Posisi (Integer) Menentukan posisi awal untuk membaca file. Jika item ini nol, data akan dibaca dari posisi pointer file saat ini.
Callback melewati tiga parameter, err, bytesread, dan buffer
・ Pengecualian err
・ Bytesread: Jumlah byte yang dibaca
・ Buffer: Objek buffer
Bentuk kedua:
Pengkodean pengkodean karakter
panggilan balik
・ Pengecualian err
・ Menulis menentukan berapa banyak karakter yang akan ditulis ke file.
・ String yang dikembalikan buffer
contoh:
Salinan kode adalah sebagai berikut:
//fs.write(fd, buffer, offset, panjang [, posisi], [callback (err, byteswritten, buffer)])
// Hasil eksekusi: byteswritten = 8, buffer = <buffer 00 00 00 01 00 00 00 00>
var fs = membutuhkan ('fs');
fs.open ('content.txt', 'a', function (err, fd) {
if (err) {
Lempar err;
}
var data = '123123123 Hello World';
var buf = buffer baru (8);
fs.write (fd, buf, 0, 8, 0, function (err, byteswritten, buffer) {
if (err) {
melempar err;
}
console.log (byteswritten);
console.log (buffer);
fs.close (fd, function (err) {
if (err) {
melempar err;
}
console.log ('file tertutup');
})
})
})
//fs.write(fd, data [, position [, encoding]], [callback (err, tertulis, string)])
// Hasil eksekusi: tertulis = 21, string = <buffer 31 32 33 31 32 33 31 32 33 20 68 65 6c 6c 6f 20 77 bf 72 6c 64>
var fs = membutuhkan ('fs');
fs.open ('content.txt', 'a', function (err, fd) {
if (err) {
melempar err;
}
var data = '123123123 Hello World';
fs.write (fd, data, 0, 'utf-8', function (err, tertulis, string) {
if (err) {
melempar err;
}
console.log (writeten);
console.log (string);
fs.close (fd, function (err) {
if (err) {
melempar err;
}
console.log ('file tertutup');
})
})
})
Kode Sumber:
Salinan kode adalah sebagai berikut:
// penggunaan:
// fs.write (fd, buffer, offset, length [, position], callback);
// ATAU
// fs.write (fd, string [, position [, encoding]], callback);
fs.write = fungsi (fd, buffer, offset, length, position, callback) {
if (util.isbuffer (buffer)) {
// Jika tidak ada posisi yang diteruskan maka anggap nol
if (util.isfunction (position)) {
callback = posisi;
posisi = null;
}
callback = maybeCallback (callback);
var wrapper = function (err, tertulis) {
// mempertahankan referensi ke buffer sehingga tidak bisa terlalu cepat.
callback (err, tertulis || 0, buffer);
};
return binding.writeBuffer (FD, buffer, offset, length, position, wrapper);
}
if (util.isstring (buffer))
buffer += '';
if (! util.isfunction (position)) {
if (util.isfunction (offset)) {
posisi = offset;
offset = null;
} kalau tidak {
posisi = panjang;
}
panjang = 'utf8';
}
callback = maybeCallback (posisi);
Position = function (err, tertulis) {
// Simpan referensi ke string jika eksternal
callback (err, tertulis || 0, buffer);
};
return binding.writeString (fd, buffer, offset, length, position);
};