Node.js - 파일/디렉토리 읽어들이기

출처 : Hans-Jurgen Mager From Unsplash

node.js에서 파일과 디렉토리를 읽어들이는 방법을 정리해보았다.

자바스크립트의 기초적인 수준으로 이제 막 공부를 시작한 상태이다 보니 자세한 설명은 부족하다. 생활코딩을 통해 학습하면서 알게된걸 간단히 기록하였으며, 앞으로 공부하면서 꾸준히 업데이트 할 생각이다.

파일과 디렉토리를 읽어들이기 위해서는 node.js의 FileSystem 모듈을 이용한다.

readFile - 파일 읽어들이기

1
let fs = require('fs');

require()를 이용하면 외부 모듈을 가져올 수 있다.

node 코드가 완성된 파일은 아래와 같다.

main.js

1
2
3
4
let fs = require('fs');
fs.readFile('data/hello.txt', 'utf-8', (err, data) => {
console.log(data);
});

위의 코드는 FileSystem 모듈의 readFile()를 이용하여 'data/hello.txt' 경로의 파일을 UTF-8 형식으로 읽어들이는 함수이다.

함수 내부에는 읽어들인 파일을 콘솔에 출력하고 있다.

위의 코드는 함수형으로 작성되어 있는데 아래의 코드와 같은 코드이다.

1
2
3
4
let fs = require('fs');
fs.readFile('data/hello.txt', 'utf-8', function(err, data) {
console.log(data);
});

읽어들이는 파일은 경로대로 만들어준다. 디렉토리 구조는 아래와 같다.

이제 콘솔에서 main.js를 node로 실행하면 파일 내부의 컨텐츠를 읽어들여서 콘솔에 출력한다.

readdir - 디렉토리 읽어들이기

디렉토리내 파일을 읽어들이는 함수이다. 먼저 data 디렉토리에 몇개의 파일들을 추가해보았다.

node를 수정한다.

1
2
3
4
let fs = require('fs');
fs.readdir('data', (err, fileList) => {
console.log(fileList);
});

FileSystem 모듈의 readdir()를 이용하여 data 경로의 파일 목록을 불러와서 콘솔에 출력하는 함수이다.

node로 main.js를 실행하면 타겟 경로의 디렉토리를 배열로 가져오는걸 확인할 수 있다.

디렉토리를 가져오면서 typeof 연산자로 타입을 확인해보았다. readdir() 함수내에 콘솔 출력 코드 한 줄을 추가했다.

1
console.log("typeof : "+typeof fileList);

object 라는거보니까 배열이 맞다.

끝!