Intenté leer un archivo línea por línea y enviarlo a otro archivo, usando Node.js.Node.js líneas de archivo de lectura y escritura
Mi problema es la secuencia de líneas a veces en mal estado debido a la naturaleza asincrónica de Node.js.
por ejemplo, mi archivo de entrada es como: línea 1 línea 2 línea de archivo de salida 3
pero podría ser como: línea 1 línea 3 línea 2
A continuación se muestra el código.
var fs = require("fs");
var index = 1;
fs.readFileSync('./input.txt').toString().split('\n').forEach(
function (line) {
console.log(line);
fs.open("./output.txt", 'a', 0666, function(err, fd) {
fs.writeSync(fd, line.toString() + "\n", null, undefined, function(err, written) {
})});
}
);
Cualquier pensamiento sería apreciado, gracias.
que es seguro mezcla las versiones sincronizadas y asíncronas de las funciones fs, pero aún tienes que establecer las devoluciones de llamadas en el orden correcto –
@AndreySidorov Para un principiante es más fácil no mezclar el código síncrono y asíncrono y elegir un solo enfoque. Por ejemplo, OP abre el archivo de forma asincrónica (para que el orden de las llamadas a 'abrir' no se conserve), pero luego, por algún motivo, utiliza la versión síncrona de' write'. – penartur