본문 바로가기
카테고리 없음

심플한 node fs 파일 읽기, 파일 쓰기, 파일 이어쓰기

by 츠키둥구리 2021. 12. 11.

참고 : 아래 항목들의 경우 모두 비동기로 동작한다.

하지만 promise를 반환하지는 않으므로, 이후 관련 작업을 이어서 해야할 경우 아래와 같이 사용하면된다.

fs.promises.fsMethoedName
 
ex: fs.promises.readFile
ex: fs.promises.writeFile
ex: fs.promises.appendFile

 

 

먼저 file system 모듈을 import 

const fs = require('fs);

먼저 nodejs의 내장 파일시스템을 불러온다.

fileSystem, 예제에서는 fs변수에 담았다.

fs에는 여러가지 메소드가 있는데, 오늘은 그중에 읽기, 쓰기, 이어쓰기 정도를 다룬다.

네이밍은 직관?적이다. 읽다.파일 쓰다.파일 추가.파일 이런식이다.

 

아래의 설명은 접근하기 쉽게만 작성했다.

따라서 각 메소드의 옵션들은 다루지 않는다.

먼저 기본적인 기능을 몇번 사용해보고, 아래문서를 참조해서 디테일도 챙기면 좋겠다.

https://nodejs.org/dist/latest-v17.x/docs/api/fs.html#fsreadfd-options-callback

 

파일 읽기 fs.readFile

fs.readFile("text2.txt", (err, data) => {
  console.log(data);
});

파일을 읽는다. 여기서 읽는다라고 함은 해당 파일의 내용을 변수에 저장할 수 있음을 뜻한다.

위 예제에서는 콘솔로그만 찍었다.

 

파일 쓰기  fs.writeFile

fs.writeFile("text3.txt", "data text", "utf-8", (err) => {
  if (err) throw err;
});

첫번째 인자는 생성할 파일명이된다.

두번째 인자는 파일 내부 내용이된다. 위 예제의 경우 "data text" 가 작성되어진다. 

세번째 인자는 인코딩 방식이다. utf-8방식으로 했다.

네번째 인자는 콜백함수이며, 에러 발생시 에러가 나게 했다.

 

파일 이어서 쓰기 fs.appendFile

fs.appendFile("text3.txt", "append data text", "utf-8", (err) => {
  if (err) throw err;
});

파일 이어서 쓰기는 기존 내용 다음에 작성하게 된다. 

첫번째 인자는 추가 작성할 파일명이된다.

두번째 인자는 추가 작성할 내용이된다. 위 예제의 경우 기존 파일 내용 다음에 "append data text" 가 추가 작성되어진다. 

세번째 인자는 인코딩 방식이다. utf-8방식으로 했다.

네번째 인자는 콜백함수이며, 에러 발생시 에러가 나게 했다.

댓글