본문 바로가기

Node.js

Node.js 기초 5 - 파일 목록 읽기

노드js에서 특정 디렉터리 하위에 있는 파일과 디렉터리의 목록을 알아내 보자. 먼저 새로 디렉터리를 만들어 read_dir.js라는 파일을 만들자. 그 후, 그 디렉터리 하위에 새로운 폴더, data 라는 폴더를 만들어 안에 sample1.txt, sample2.txt, sample3.txt라는 파일을 만들어 주자. 이제 read_dir.js에 다음과 같은 코드를 작성해 준다.

 

const testFolderDir = './data';
const fs = require('fs');

fs.readdir(testFolderDir, (err, filelist) => {
    console.log(filelist);
});

 

실행시키면 다음과 같은 결과가 나온다.

 

PS C:\Users\bumsu\nodejs-projects\read_dir> node read_dir.js 
[ 'sample1.txt', 'sample2.txt', 'sample3.txt' ]

 

이번에도 배열 형태로 안에 파일 이름이 출력되는 것을 볼 수 있다. 이를 이용해 파일 목록을 알아낸 후 이를 모두 읽는 코드를 다음과 같이 작성해보자.

 

const testFolderDir = './data/';
const fs = require('fs');

fs.readdir(testFolderDir, (err, filelist) => {
    for (let i = 0; i < filelist.length; i++) {
        let filename = filelist[i]
        fs.readFile(
            testFolderDir + filename,
            'utf8',
            (err, data) => {
                console.log(
                    filename + '\n' +
                    data
                )
            }
        )
    }
});

 

이를 실행시켜 보면,

 

PS C:\Users\bumsu\nodejs-projects\read_dir> node read_dir.js
sample1.txt
1
sample2.txt
2
sample3.txt
3

 

위와 같이 출력이 잘 되는 것을 볼 수 있다.