Descripción del método:
Al escribir en un archivo (de acuerdo con los descriptores de archivos), la función es similar a fs.WriteFile (), pero este método proporciona una operación más subyacente. Se recomienda usar múltiples fs.WriteFile () en aplicaciones reales.
Este método viene en dos formas:
1. Fs.write (fd, buffer, desplazamiento, longitud [, posición], [devolución de llamada (err, byteswritten, buffer)]))
Esta forma de escribir escribe buffer en un archivo (busque el archivo de acuerdo con el descriptor del archivo FD).
2. Fs.Write (FD, Data [, posición [, codificación]], [devolución de llamada (err, escrito, cadena)]))
Esta forma de escribir escribe datos en un archivo (busque el archivo de acuerdo con el descriptor del archivo FD). Si los datos no son un valor de instancia de un búfer, se lanzará a una cadena.
gramática:
La copia del código es la siguiente:
fs.write (FD, búfer, desplazamiento, longitud [, posición], [devolución de llamada (err, byteswritten, buffer)]))
Fs.Write (FD, Data [, Position [, Coding]], [Callback (err, escrito, cadena)]))
Dado que este método pertenece al módulo FS, es necesario introducir el módulo FS antes de usar (var fs = require ("fs")))
Recibir parámetros:
Descriptor de archivos FD.
Buffer, se escribirán datos. La configuración del tamaño del búfer es preferiblemente múltiple de 8, que es más eficiente.
compensación de escritura al búfer de compensación
Longitud (entero) especifica la longitud de los bytes de lectura de archivos
Position (Integer) Especifica la posición inicial para la lectura de archivos. Si este elemento es nulo, los datos se leerán desde la posición del puntero del archivo actual.
La devolución de llamada pasa tres parámetros, err, bytesread y buffer
・ Excepción err
・ Bytesread: el número de bytes leídos
・ Buffer: objeto de búfer
La segunda forma:
codificación de carácter codificación
llamar de vuelta
・ Excepción err
・ Escrito especifica cuántos caracteres se escribirán en el archivo.
・ Buffer devuelto de cadena
ejemplo:
La copia del código es la siguiente:
//fs.write(fd, buffer, compensación, longitud [, posición], [devolución de llamada (err, byteswritten, buffer)]))
// Resultado de la ejecución: byteSwritten = 8, buffer = <buffer 00 00 00 01 00 00 00 00>
var fs = require ('fs');
fs.open ('content.txt', 'a', function (err, fd) {
if (err) {
tirar err;
}
var data = '123123123 Hello World';
var buf = new Buffer (8);
fs.write (fd, buf, 0, 8, 0, function (err, byteswritten, buffer) {
if (err) {
tirar err;
}
console.log (bytesScritten);
console.log (búfer);
fs.close (fd, function (err) {
if (err) {
tirar err;
}
console.log ('Archivo cerrado');
})
})
})
//fs.write(fd, data [, posición [, codificación]], [Callback (err, escrito, cadena)]))
// Resultado de la ejecución: escrito = 21, string = <buffer 31 32 33 31 32 33 31 32 33 20 68 65 6C 6C 6F 20 77 BF 72 6C 64>
var fs = require ('fs');
fs.open ('content.txt', 'a', function (err, fd) {
if (err) {
tirar err;
}
var data = '123123123 Hello World';
fs.write (fd, data, 0, 'utf-8', function (err, escrito, string) {
if (err) {
tirar err;
}
console.log (Writeten);
console.log (cadena);
fs.close (fd, function (err) {
if (err) {
tirar err;
}
console.log ('Archivo cerrado');
})
})
})
Código fuente:
La copia del código es la siguiente:
// Uso:
// fs.write (fd, búfer, desplazamiento, longitud [, posición], devolución de llamada);
// O
// fs.write (fd, string [, posición [, codificación]], devolución de llamada);
fs.write = function (fd, buffer, compensación, longitud, posición, devolución de llamada) {
if (util.isbuffer (buffer)) {
// Si no se pasa la posición, entonces asuma nulo
if (Util.Isfunction (Position)) {
devolución de llamada = posición;
posición = nulo;
}
Callback = MayBecallback (devolución de llamada);
var wrapper = function (err, escrito) {
// Conserve una referencia al búfer para que no se pueda ver demasiado pronto.
devolución de llamada (err, escrito || 0, búfer);
};
return binding.writebuffer (fd, búfer, compensación, longitud, posición, envoltorio);
}
if (util.isstring (buffer))
buffer += '';
if (! util.Isfunction (posición)) {
if (Util.Isfunct (offset)) {
posición = offset;
offset = nulo;
} demás {
posición = longitud;
}
longitud = 'utf8';
}
Callback = MayBecallback (posición);
posición = function (err, escrito) {
// retener la referencia a la cadena en caso de que sea externo
devolución de llamada (err, escrito || 0, búfer);
};
return binding.writeString (fd, búfer, desplazamiento, longitud, posición);
};