Methode Beschreibung:
Das Schreiben in eine Datei (gemäß den Dateideskriptoren) ist die Funktion ähnlich wie fs.writeFile (), diese Methode bietet jedoch einen zugrunde liegenderen Betrieb. Es wird empfohlen, mehrere Fs.WriteFile () in tatsächlichen Anwendungen zu verwenden.
Diese Methode ist in zwei Formen erhältlich:
1. Fs.Write (FD, Puffer, Offset, Länge [, Position], [Callback (Err, Byteswritten, Puffer)]))
Diese Art des Schreibens schreibt Puffer in eine Datei (finden Sie die Datei gemäß der Dateideskriptor FD).
2. fs.write (fd, data [, Position [, codieren]], [Callback (Err, geschrieben, String)]))
Diese Art des Schreibens schreibt Daten in eine Datei (finden Sie die Datei gemäß der Dateideskriptor FD). Wenn die Daten kein Instanzwert eines Puffers sind, wird sie in eine Zeichenfolge gegossen.
Grammatik:
Die Codekopie lautet wie folgt:
Fs.Write (FD, Puffer, Offset, Länge [, Position], [Callback (Err, Byteswritten, Puffer)]))
fs.write (fd, data [, Position [, codieren]], [Callback (Err, geschrieben, String)]))
Da diese Methode zum FS -Modul gehört, muss das FS -Modul vor der Verwendung eingeführt werden (var fs = require ("fs"))
Parameter empfangen:
FD -Dateideskriptor.
Puffer, Daten werden geschrieben. Die Einstellung der Puffergrößen ist vorzugsweise vielfältig von 8, was effizienter ist.
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
Die zweite Form:
Codierung von Charaktercodierung
Rückruf
・ Fehler bei der Ausnahme
・ Schreiben Gibt an, wie viele Zeichen in die Datei geschrieben werden.
・ String zurückgegebener Puffer
Beispiel:
Die Codekopie lautet wie folgt:
//fs.write(fd, Puffer, Offset, Länge [, Position], [Callback (Err, Byteswritten, Puffer)]))
// Ausführung Ergebnis: byteswritten = 8, buffer = <puffer 00 00 00 01 00 00 00 00>
var fs = fordert ('fs');
fs.open ('content.txt', 'a', function (err, fd) {
if (err) {
errösten;
}
var data = '123123123 Hello World';
var buf = neuer Puffer (8);
fs.write (fd, buf, 0, 8, 0, Funktion (Err, byteswritten, Buffer) {
if (err) {
errösten;
}
console.log (byteswritten);
console.log (puffer);
fs.close (fd, function (err) {
if (err) {
errösten;
}
console.log ('Datei geschlossen');
})
})
})
//fs.write(fd, data [, Position [, codieren]], [Callback (Err, geschrieben, String)]))
// Ausführungsergebnis: geschrieben = 21, String = <Puffer 31 32 33 31 32 33 31 32 33 20 68 65 6c 6c 6f 20 77 BF 72 6c 64>
var fs = fordert ('fs');
fs.open ('content.txt', 'a', function (err, fd) {
if (err) {
errösten;
}
var data = '123123123 Hello World';
fs.write (fd, data, 0, 'utf-8', function (err, geschrieben, string) {
if (err) {
errösten;
}
console.log (writeeteten);
console.log (String);
fs.close (fd, function (err) {
if (err) {
errösten;
}
console.log ('Datei geschlossen');
})
})
})
Quellcode:
Die Codekopie lautet wie folgt:
// Verwendung:
// fs.write (FD, Puffer, Offset, Länge [, Position], Rückruf);
// ODER
// fs.write (fd, String [, Position [, codieren]], Callback);
fs.write = function (fd, puffer, offset, länge, Position, Rückruf) {
if (util.isBuffer (puffer)) {
// Wenn keine Position übergeben wird, nehmen Sie NULL an
if (util.isfunction (Position)) {
Rückruf = Position;
Position = null;
}
CALLBACK = MaybeCallback (Callback);
var wradeper = function (err, geschrieben) {
// behalten Sie einen Verweis auf Puffer bei, damit es nicht zu früh gilt.
Callback (err, geschrieben || 0, Puffer);
};
return binding.writeBuffer (FD, Puffer, Offset, Länge, Position, Wrapper);
}
if (util.isstring (puffer))
Puffer += '';
if (! util.is isisfunction (Position)) {
if (util.isis isisfunction (offset)) {
Position = Offset;
offset = null;
} anders {
Position = Länge;
}
Länge = 'utf8';
}
callback = maybecallback (Position);
Position = Funktion (err, geschrieben) {
// Verweise auf String beibehalten, falls es extern ist
Callback (err, geschrieben || 0, Puffer);
};
return binding.writestring (fd, puffer, offset, länge, Position);
};