Methodenbeschreibung:
Schreiben Sie in eine Datei (gemäß dem Dateideskriptor). Die Funktion ähnelt fs.writeFile(), aber diese Methode bietet Operationen auf niedrigerer Ebene. In praktischen Anwendungen wird empfohlen, mehr fs.writeFile() zu verwenden. .
Diese Methode hat zwei Formen:
1. fs.write(fd, buffer, offset, length[, position], [callback(err, bytesWritten, buffer)])
Diese Schreibweise schreibt den Puffer in eine Datei (die Datei wird anhand des Dateideskriptors fd gefunden).
2. fs.write(fd, data[, position[,kodierung]], [callback(err, geschrieben, string)])
Diese Schreibweise schreibt Daten in eine Datei (die Datei wird anhand des Dateideskriptors fd gefunden). Wenn es sich bei den Daten nicht um eine Pufferinstanz handelt, wird der Wert in eine Zeichenfolge umgewandelt.
Grammatik:
fs.write(fd, buffer, offset, length[, position], [callback(err, bytesWritten, buffer)])
fs.write(fd, data[, position[,kodierung]], [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“))
Empfangsparameter:
fd Dateideskriptor.
Puffer Der Puffer, in den Daten geschrieben werden. Am besten stellen Sie die Puffergröße auf ein Vielfaches von 8 ein, was effizienter ist.
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
Zweite Form:
Kodierung Zeichenkodierung
Rückruf
· err Ausnahme
· geschrieben Gibt an, wie viele Zeichen in die Datei geschrieben werden.
· string Der zurückgegebene Puffer
Beispiel:
//fs.write(fd, buffer, offset, length[, position], [callback(err, bytesWritten, buffer)])
//Ausführungsergebnis: bytesWritten = 8, buffer =
var fs = require('fs');
fs.open('content.txt', 'a', function(err,fd){
if(err){
wirf irr;
}
var data = '123123123 hallo Welt';
var buf = new Buffer(8);
fs.write(fd, buf, 0, 8, 0, function(err, bytesWritten, buffer){
if(err){
wirf irr;
}
console.log(bytesWritten);
console.log(buffer);
fs.close(fd,function(err){
if(err){
Fehler werfen;
}
console.log('Datei geschlossen');
})
})
})
//fs.write(fd, data[, position[,kodierung]], [callback(err, geschrieben, string)])
//Ausführungsergebnis: geschrieben = 21, string =
var fs = require('fs');
fs.open('content.txt', 'a', function(err,fd){
if(err){
wirf irr;
}
var data = '123123123 hallo Welt';
fs.write(fd, data, 0, 'utf-8', function(err, geschrieben, string){
if(err){
wirf irr;
}
console.log(geschrieben);
console.log(string);
fs.close(fd,function(err){
if(err){
Fehler werfen;
}
console.log('Datei geschlossen');
})
})
})
Quellcode:
// Verwendung:
// fs.write(fd, buffer, offset, length[, position], callback);
// ODER
// fs.write(fd, string[, position[,kodierung]], callback);
fs.write = function(fd, buffer, offset, length, position, callback) {
if (util.isBuffer(buffer)) {
// wenn keine Position übergeben wird, dann nimm null an
if (util.isFunction(position)) {
Rückruf = Position;
position = null;
}
callback = MaybeCallback(callback);
var wrapper = function(err, geschrieben) {
// Behalten Sie einen Verweis auf den Puffer bei, damit er nicht zu früh einer GC unterzogen werden kann.
Rückruf(err, geschrieben || 0, Puffer);
};
return binding.writeBuffer(fd, buffer, offset, length, position, wrapper);
}
if (util.isString(buffer))
buffer = '';
if (!util.isFunction(position)) {
if (util.isFunction(offset)) {
Position = Offset;
offset = null;
} sonst {
Position = Länge;
}
length = 'utf8';
}
callback = MaybeCallback(position);
position = function(err, geschrieben) {
// Verweis auf String beibehalten, falls dieser extern ist
Rückruf(err, geschrieben || 0, Puffer);
};
return binding.writeString(fd, buffer, offset, length, position);
};