open - Node.js Escribe una línea en un archivo.txt
path nodejs (3)
Quiero crear un sistema de registro simple, que imprime una línea antes de la línea pasada en un archivo txt utilizando Node.js, pero no sé cómo funciona el sistema de archivos de Node.js. ¿Alguien puede explicarlo?
Insertar datos en medio de un archivo de texto no es una tarea sencilla. Si es posible, debe adjuntarlo al final de su archivo.
La forma más fácil de agregar datos a un archivo de texto es usar la función fs.appendFile(filename, data[, options], callback)
incorporada del módulo fs
:
var fs = require(''fs'')
fs.appendFile(''log.txt'', ''new data'', function (err) {
if (err) {
// append failed
} else {
// done
}
})
Pero si desea escribir datos en el archivo de registro varias veces, será mejor usar la función fs.createWriteStream(path[, options])
:
var fs = require(''fs'')
var logger = fs.createWriteStream(''log.txt'', {
flags: ''a'' // ''a'' means appending (old data will be preserved)
})
logger.write(''some data'') // append string to your file
logger.write(''more data'') // again
logger.write(''and more'') // again
El nodo seguirá agregando nuevos datos a su archivo cada vez que llame a .write
, hasta que su aplicación se cierre, o hasta que cierre manualmente la transmisión de llamadas .end
:
logger.end() // close string
Simplemente usa el módulo fs
y algo como esto:
fs.appendFile(''server.log'', ''string to append'', function (err) {
if (err) return console.log(err);
console.log(''Appended!'');
});
Paso 1
Si tiene un archivo pequeño, lea todos los datos del archivo en la memoria
Paso 2
Convertir la cadena de datos del archivo en Array
Paso 3
Busque en la matriz para encontrar la ubicación donde desea insertar el texto
Etapa 4
Una vez que tengas la ubicación inserta tu texto
yourArray.splice(index,0,"new added test");
Paso 5
convierte tu matriz a cadena
yourArray.join("");
Paso 6
escribe tu archivo como tal
fs.createWriteStream(yourArray);
Esto no se recomienda si su archivo es demasiado grande.