Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: bengy en 7 Octubre 2016, 22:24 pm



Título: mesclar contenido de archivos en nodejs
Publicado por: bengy en 7 Octubre 2016, 22:24 pm
Mi código es:

Código
  1. var files = fs.readdirSync('./archivos/'); //itera todos los archivos
  2.  
  3.            for (var a in files) {
  4.  
  5.                if (fs.statSync('./archivos/'+files[a]).isFile()){
  6.                var nombreFile=files[a];
  7.                console.log(files[a]);
  8.                fs.readFile('./archivos/'+nombreFile, 'utf8', function(err, data) {
  9.                console.log(nombreFile); //solo muentra el ultimo File, como solucionar?, porque solo muestra el ultimo file???
  10.                var contentA=data;
  11.                escritorLector.escribirTraining(nombreFile,contentA);
  12.  
  13.                for (var b in files) {
  14.                      if(fs.statSync('./archivos/'+files[b]).isFile()){
  15.                        if(nombreFile!=files[b]){
  16.                            fs.readFile('./archivos/'+files[b], 'utf8', function(err, data) {
  17.                                    var contentB=data;
  18.                                    fs.readFile('./archivos/training/'+nombreFile, 'utf8', function(err, data) {    
  19.                                    var contentAnterior=data;
  20.                                    var contentAB=contentAnterior+contentB;
  21.                                    console.log(contentAB);
  22.                                        escritorLector.escribirTraining(nombreFile,contentAB);
  23.  
  24.                                });
  25.                            });
  26.                        }
  27.                     }
  28.                };
  29.                });
  30.            }
  31.    };
ese código trabaja en 2 carpetas los cuales son:

Código:
./archivos/
./archivos/training/
La lógica del código de arriba es:

*obtener el contenido de todos los fichero
*crear un archivo nuevo en ./archivos/training/ para cada archivo y poner todos los contenidos de todos los archivos
*hacer eso para todos los archivos, es decir crear para cada archivo de ./archivos/ su archivo de union en ./archivos/training/
*en el codigo,comente lo siguiente

Citar
console.log(nombreFile); //solo muentra el ultimo File, como solucionar?, porque solo muestra el ultimo file???