Rumah  >  Artikel  >  hujung hadapan web  >  Arahan untuk menggunakan kaedah fs.read dalam node.js_node.js

Arahan untuk menggunakan kaedah fs.read dalam node.js_node.js

WBOY
WBOYasal
2016-05-16 16:26:111267semak imbas

Penerangan kaedah:

Baca data fail berdasarkan deskriptor fail fd yang ditentukan dan tulis objek penimbal yang ditunjuk oleh penimbal. Ia menyediakan antara muka peringkat lebih rendah daripada readFile.

Secara amnya tidak disyorkan untuk menggunakan kaedah ini untuk membaca fail, kerana ia memerlukan anda mengurus penimbal dan penuding fail secara manual, terutamanya apabila anda tidak mengetahui saiz fail, ini akan menjadi perkara yang sangat menyusahkan .

Tatabahasa:

Salin kod Kod adalah seperti berikut:

fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])

Memandangkan kaedah ini tergolong dalam modul fs, modul fs perlu diperkenalkan sebelum digunakan (var fs= require(“fs”) )

Terima parameter:

Penerangan fail fs

penampan Penampan di mana data akan ditulis.

offset Offset ditulis pada penimbal

panjang (integer) Menentukan panjang fail dibaca dalam bait

kedudukan (integer) Menentukan kedudukan permulaan bacaan fail Jika item ini batal, data akan dibaca bermula dari kedudukan penuding fail semasa.

panggilan balik Panggilan balik melepasi tiga parameter, err, bytesRead, buffer

· err Pengecualian

· baitBaca: Bilangan bait dibaca

·penampan: objek penimbal

Contoh:

Salin kod Kod adalah seperti berikut:

var fs = memerlukan('fs');
fs.open('123.txt' , 'r' , function (err,fd){
jika(err){
console.error(err);
Kembali;
}

var buf = Penampan baharu(8); fs.read(fd, buf, 0, 8, null, function(err,bytesRead, buffer){
jika(err){
console.log(err);
Kembali;
}
console.log('bytesRead' bytesRead); console.log(buffer);
})
})


Kod sumber:

fs.read = fungsi(fd, penimbal, offset, panjang, kedudukan, panggil balik) {
jika (!util.isBuffer(buffer)) {
// antara muka rentetan lama (fd, panjang, kedudukan, pengekodan, panggil balik)
var cb = hujah[4],
pengekodan = hujah[3];
assertEncoding(encoding);
kedudukan = hujah[2];
panjang = hujah[1];
penimbal = Penampan baharu(panjang);
Offset = 0;
​ panggil balik = function(err, bytesRead) {
Jika (!cb) kembali;
var str = (bytesRead > 0) ? buffer.toString(encoding, 0, bytesRead) : '';
(cb)(err, str, bytesRead);
};
}
pembungkus fungsi(err, bytesRead) {
// Kekalkan rujukan kepada penimbal supaya ia tidak boleh GC terlalu cepat.
​ panggil balik && panggil balik(err, bytesRead || 0, buffer);
}
binding.read(fd, buffer, offset, panjang, kedudukan, pembalut);
};


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