Heim >Web-Frontend >js-Tutorial >Anweisungen zur Verwendung der fs.read-Methode in node.js_node.js

Anweisungen zur Verwendung der fs.read-Methode in node.js_node.js

WBOY
WBOYOriginal
2016-05-16 16:26:111335Durchsuche

Methodenbeschreibung:

Lesen Sie Dateidaten basierend auf dem angegebenen Dateideskriptor fd und schreiben Sie das Pufferobjekt, auf das der Puffer zeigt. Es bietet eine Schnittstelle auf niedrigerer Ebene als readFile.

Es wird im Allgemeinen nicht empfohlen, diese Methode zum Lesen von Dateien zu verwenden, da Sie den Puffer und den Dateizeiger manuell verwalten müssen. Dies ist insbesondere dann sehr problematisch, wenn Sie die Dateigröße nicht kennen.

Grammatik:

Code kopieren Der Code lautet wie folgt:

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

Da diese Methode zum fs-Modul gehört, muss das fs-Modul vor der Verwendung eingeführt werden (var fs= require(“fs“))

Empfangsparameter:

fs-Dateideskriptor

Puffer Der Puffer, in den Daten geschrieben werden.

Offset Der in den Puffer geschriebene Offset

Länge (Ganzzahl) Gibt die Länge der gelesenen Datei in Bytes an

Position (Ganzzahl) Gibt die Startposition des Dateilesens an. Wenn dieses Element null ist, werden die Daten ab der Position des aktuellen Dateizeigers gelesen.

Rückruf Der Rückruf übergibt drei Parameter: err, bytesRead, buffer

· err Ausnahme

· bytesRead: Anzahl der gelesenen Bytes

·Puffer: Pufferobjekt

Beispiel:

Code kopieren Der Code lautet wie folgt:

var fs = require('fs');
fs.open('123.txt' , 'r' , function (err,fd){
if(err){
console.error(err);
Zurück;
}

var buf = neuer Puffer(8); fs.read(fd, buf, 0, 8, null, function(err,bytesRead, buffer){
if(err){
console.log(err);
Zurück;
}
console.log('bytesRead' bytesRead);
console.log(Puffer);
})
})

Quellcode:

Code kopieren Der Code lautet wie folgt:
fs.read = function(fd, buffer, offset, length, position, callback) {
if (!util.isBuffer(buffer)) {
// Legacy-String-Schnittstelle (FD, Länge, Position, Codierung, Rückruf)
var cb = arguments[4],
Kodierung = Argumente[3];
affirmEncoding(encoding);
position = arguments[2];
Länge = Argumente[1];
buffer = neuer Puffer(Länge);
Offset = 0;
​ callback = function(err, bytesRead) {
Wenn (!cb) return;
var str = (bytesRead > 0) ? buffer.toString(encoding, 0, bytesRead) : '';
(cb)(err, str, bytesRead);
};
}
function wrapper(err, bytesRead) {
// Behalten Sie einen Verweis auf den Puffer bei, damit er nicht zu früh einer GC unterzogen werden kann.
​ Rückruf && Rückruf(err, bytesRead || 0, buffer);
}
binding.read(fd, buffer, offset, length, position, wrapper);
};

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn