2017-05-22 1 views
0

폴더 안에있는 여러 txt 파일의 줄을 읽고 모든 텍스트 줄을 포함하는 단일 텍스트 파일을 만듭니다. 다음은 작업을하지만 특정 파일 만 읽은 다음 해당 파일에 포함 된 텍스트 줄을 사용하여 만드는 예제입니다. 폴더 안에있는 여러 txt 파일의 줄을 읽고 모든 텍스트 줄을 포함하는 단일 텍스트 파일을 만듭니다.

const testFolder = './txt_files/'; 
 
const fs = require('fs'); 
 

 
fs.readdir(testFolder, (err, files) => { 
 
\t files.forEach(file => { 
 
    console.log(file); 
 
    }); 
 
}) 
 

 
fs.readFile('txt_files/url-list1.txt', 'utf8', function(err, data) { 
 
    if (err) throw err; 
 
    console.log(data); 
 

 
    fs.writeFile('txt_files/test.txt', data, function(err) { 
 
\t  if(err) { 
 
\t   return console.log(err); 
 
\t  } 
 
\t  console.log("El archivo con todas las url se guardó!"); 
 
\t }); 
 
});
이 예제는 작동

. 'txt_files'폴더에서 하나의 파일을 읽고, 추출한 텍스트 줄과 함께 새로운 txt를 만듭니다. 내가하고 싶은 일은 그 폴더에있는 모든 파일을 읽고 모든 텍스트 줄을 사용하여 새 파일을 만드는 것입니다. 도와주세요!

+0

당신이 디렉토리에있는 모든 파일을 읽을 회 시도가? 'fs'노드 문서를 읽었습니까? fs.readdir 함수를 자세히 살펴볼 필요가 있습니다 - https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback – serg10

답변

0
const testFolder = './txt_files/'; 
const fs = require('fs'); 

fs.readdir(testFolder, (err, files) => { 
    files.forEach(file => { 
    console.log(file); 
      fs.readFile(testFolder+file, 'utf8', function(err, data) { 
       if (err) throw err; 
       console.log(data); 
       fs.appendFile('txt_files/test.txt', data+"\n", function(err) { 
       if(err) { 
        return console.log(err); 
       } 
       console.log("El archivo con todas las url se guardó!"); 
}); 

     }); 
    }); 

}); 
+0

'var str = ""; – Luca

+0

사실 나는이 줄을 지우는 것을 잊었다. 이전에는 파일의 내용을 연결하여 한 번에 쓰려고했다. 상기시켜 주셔서 감사합니다. –

+0

물론 문제 없습니다! – Luca

0

그래서 이것이 내가 생각 해낸 것입니다, 당신은 이미 제공 한 것을 사용. FS에는 appendFile이라는 기능이 있습니다.이 기능이 없으면 파일을 만들고 파일의 EOF에 데이터를 추가합니다. 기능에 대한 자세한 내용은 here

TXT- 확장에 대한 검사를 추가하여 실제 텍스트 파일의 데이터 만 추가 할 수 있도록 추가했습니다.

질문이 있으시면 나에게 의견을 남겨주세요!

const testFolder = './txt_files/'; 
 
const fs = require('fs'); 
 

 
fs.readdir(testFolder, (err, files) => { 
 
    files.forEach(file => { 
 
     // only match TXT Files 
 
     if (file.substring(file.length - 4, file.length) == ".txt"){ 
 
      fs.readfile(testFolder+file, 'utf8', (err, data) => { 
 
       fs.appendFile(testFolder+'allfiles.txt', data+"\n", function (err) { 
 
        if (err) throw err; 
 
       }); 
 
      }); 
 
     } 
 
    }); 
 
});

관련 문제