본문 바로가기
Web/Node.js

Node.js 대상 디렉토리 내의 모든 파일 읽어오기

by supdev 2017. 11. 9.



한참 찾은 시간에 비해 제목과 같은 작업을 수행하는 코드는 단, 두 줄 이었습니다...


아래 소스에 사용된 디렉토리 경로는 다음과 같습니다.

node_directory/jsons


fs.readdirSync(); 는 node 작업 디렉토리 기반 상대 경로로 설정됩니다.


var fs = require('fs');
var dir = 'jsons';

var files = fs.readdirSync(dir); // 디렉토리를 읽어온다
console.log(files);


아래는 확장자가 '.json'인 파일만 필터링해 파일의 내용을 읽어오는 소스입니다.


var fs = require('fs');
var dir = 'jsons';

var files = fs.readdirSync(dir); // 디렉토리를 읽어온다
console.log(files);
for(var i = 0; i < files.length; i++){
var file = files[i];
var suffix = file.substr(file.length - 5, file.length); // 확장자 추출
console.log(suffix);

// 확장자가 json일 경우 읽어 내용 출력
if (suffix === '.json'){
fs.readFile(dir + '/' + file,function(err, buf){
console.log(buf.toString());
});
}
}


suffix를 가져오는 부분은 수정이 필요할 것 같습니다.