Methode Beschreibung:
Lesen Sie Dateidaten gemäß der angegebenen Dateideskriptor -FD und schreiben Sie in das vom Puffer vermerkte Pufferobjekt. Es bietet eine zugrunde liegende Schnittstelle als ReadFile.
Diese Methode wird nicht empfohlen, um Dateien im Allgemeinen zu lesen, da Sie Puffer und Dateizeiger manuell verwalten müssen, insbesondere wenn Sie die Dateigröße nicht kennen, was eine sehr problematische Sache sein kann.
Grammatik:
Die Codekopie lautet wie folgt:
FS.
Da diese Methode zum FS -Modul gehört, muss das FS -Modul vor der Verwendung eingeführt werden (var fs = require ("fs"))
Parameter empfangen:
FS -Dateideskriptor
Puffer, Daten werden geschrieben.
Offset Schreiben in Offset Puffer
Länge (Ganzzahl) Gibt die Länge der Datei -Lesebytes an
Position (Ganzzahl) Gibt die Startposition für das Lesen von Dateien an. Wenn dieses Element null ist, werden Daten aus der Position des aktuellen Dateizeigers gelesen.
Der Rückruf übergibt drei Parameter, Err, ByteSread und Puffer
・ Fehler bei der Ausnahme
・ ByteSread: Die Anzahl der gelesenen Bytes
・ Puffer: Pufferobjekt
Beispiel:
Die Codekopie lautet wie folgt:
var fs = fordert ('fs');
fs.open ('123.txt', 'r', function (err, fd) {
if (err) {
console.Error (err);
zurückkehren;
}
var buf = neuer Puffer (8);
FS.
if (err) {
console.log (err);
zurückkehren;
}
console.log ('byteSread' +byteSread);
console.log (puffer);
})
})
Quellcode:
Die Codekopie lautet wie folgt:
fs.Read = Funktion (FD, Puffer, Offset, Länge, Position, Rückruf) {
if (! util.isBuffer (puffer)) {
// Legacy String Interface (FD, Länge, Position, Codierung, Rückruf)
var cb = Argumente [4],
Codierung = Argumente [3];
AssensCoding (Codierung);
Position = Argumente [2];
Länge = Argumente [1];
Buffer = neuer Puffer (Länge);
offset = 0;
callback = function (err, bytesread) {
if (! cb) return;
var str = (ByteSread> 0)? Buffer.ToString (Codierung, 0, ByteSread): '';
(CB) (Err, Str, ByteSread);
};
}
Funktionsumpackung (Err, ByteSread) {
// behalten Sie einen Verweis auf Puffer bei, damit es nicht zu früh gilt.
Callback && Callback (Err, ByteSread || 0, Puffer);
}
Bindung.read (FD, Puffer, Versatz, Länge, Position, Wrapper);
};