NodeJs - 파일 시스템 접근

choko's avatar
Jun 29, 2024
NodeJs - 파일 시스템 접근
fs 모듈
파일 시스템에 접근하는 모듈, 파일을 생성하거나 삭제하고, 읽거나 쓸 수 있다.
 

readFile

readme.txt
저를 읽어주세요.
readFile.js
const fs = require('fs'); fs.readFile('./readme.txt',(err,data)=> { if(err){ throw err; } console.log(data); console.log(data.toString()); });
결과
PS C:\Users\lee\Desktop\study\nodejs\study> node readFile.js <Buffer ec a0 80 eb a5 bc 20 ec 9d bd ec 96 b4 ec a3 bc ec 84 b8 ec 9a a9 2e> 저를 읽어주세요.
readFile의 결과물은 버퍼 형식으로 제공된다. 사람이 읽을 수 있게 변환해주려면 toString을 사용해 문자열로 변환한다. 버퍼와 스트림
 
fs는 콜백 형식 모듈이므로 실무에서 사용하기 불편하고, 주로 fs를 프로미스 형식으로 바꿔주는 방법을 사용한다.
readFilePromise.js
const fs = require('fs').promises; fs.readFile('./readme.txt') .then((data)=>{ console.log(data); console.log(data.toString()); }) .catch((err)=> { console.error(err); })
 
여러개의 파일을 비동기로 읽으려면 Promise나 async/await을 쓴다.
asyncOrderPromise.js
const fs = require('fs').promises; console.log('시작'); fs.readFile('./readme2.txt') .then((data) => { console.log('1번', data.toString()); return fs.readFile('./readme2.txt'); }) .then((data) => { console.log('2번', data.toString()); return fs.readFile('./readme2.txt'); }) .then((data) => { console.log('3번', data.toString()); return fs.readFile('./readme2.txt'); }) .catch((err) => { console.log(err); });
 

writeFile

writeFile.js
const fs = require('fs').promises; fs.writeFile('./writeme.txt','글이 입력됩니다.') .then(()=>{ return fs.readFile('./writeme.txt'); }) .then((data)=>{ console.log(data.toString()); }) .catch((err)=>{ console.error(err); });
 
 
 
Share article

Tom의 TIL 정리방