본문 바로가기

Programming/Node.js

4. Node 기능 살펴보기 (5) - 파일 시스템 접근하기 [fs] 2

node js logo image

 

 

 

 

 

앞선 아티클에서 살펴보았듯이, fs 모듈은 콜백을 중심으로 구현되는 모듈입니다. 익숙한 형태이지만, 콜백 중심의 형식은 다소 사용하기 불편한 감이 있으니 이 역시 프로미스 형식으로 바꾸어 보겠습니다. 

 

/*
const fs = require('fs');

fs.readFile('./readme.txt', (err, data) => {
    if (err) {
        throw err;
    }
    console.log(data);
    console.log(data.toString());
});
*/

const fs = require('fs').promises;

fs.readFile('./readme.txt')
    .then((data) => {
        console.log(data);
        console.log(data.toString());
    })
    .catch((err) => {
        console.error(err);
    });


/* 출력
<Buffer 66 73 20 eb aa a8 eb 93 88 20 ed 85 8c ec 8a a4 ed 8a b8 eb a5 bc 20 ec 9c 84 ed 95 9c 20 ed 8c 8c ec 9d bc ec 9e 85 eb 8b 88 eb 8b a4 2e>
fs 모듈 테스트를 위한 파일입니다.
*/

 

 

위와 같이 fs 모듈에서 promise 속성을 불러와 프로미스를 기반으로 한 fs 모듈도 사용이 가능해졌습니다. 

 

 

 

 


 

 

 

이제까지 파일을 읽는 동작을 수행했으니, 이번에는 파일을 새롭게 생성하는 기능을 테스트 해보겠습니다. 

 

const fs = require('fs');

fs.writeFile('./writeme.txt', '스트링 입력됨', (err) => {
    if(err) {
        throw err;
    }
    fs.readFile('./writeme.txt', (err, data) => {
        if(err){
            throw err;
        }
        console.log(data.toString());
    });
});

/* 출력
스트링 입력됨
*/

 

fs.writeFile( )을 이용해 새롭게 writeme.txt라는 텍스트 파일에 내용을 넣어서 생성하고, 콜백으로 readFile( )까지 실행해 보았습니다.