Backend/Node.js

파일 입출력

AIHYEONJI 2025. 4. 27. 11:50

1. 파일 입출력

: 파일 입출력(file I/O)는 매우 중요한 기능 중 하나로, 주로 fs( File system) 모듈을 사용해서 파일을 읽고 쓰는 작업을 수행함.

 

2. 파일 읽기

2.1 동기 방식(Synchronous)

: 코드가 순서대로 실행되며, 파일을 다 읽을 때까지 다음줄로 넘어가지 않는다.

// fs.readfileSync : 동기  --> 별도로 오류(예외)처리해야함
const fs = require("fs");
const data = fs.readFileSync("example.txt", "utf8");
console.log("파일내용 : ", data);

 

2.2 비동기 방식(Asynchronous)

: 파일을 읽는 동안 다음 코드를 먼저 실행하고, 다 읽으면 콜백함수로 결과를 넘긴다.

// fs.readfi : 비동기
fs.readFile("example.txt", "utf8", (err, data) => {
  if (err) {
    console.log("파일 읽기 실패 :", err);
    return;
  }
  console.log("파일 내용 :", data);
});
console.log('프로그램을 종요합니다.')

 

3. 파일 쓰기

 

3.1 동기 방식

 
fs.writeFileSync("output.txt", "이 내용이 파일에 저장됩니다.");
console.log("파일 저장 완료!(동기)");
 

 

3.2 비동식 방식


fs.writeFile("output2.txt", "비동기 방식으로 저장합니다.", (err) => {
  if (err) {
    console.error("저장실패 :", err);
    return;
  }
  console.log("파일 저장 완료(비동기)");
});


 

4. 파일에 내용 추가

 
fs.appendFile("output2.txt", "\n새로운 줄이 추가됩니다.", (err) => {
  if (err) throw err;
  console.log("내용 추가 완료!");
});
 

 

5. 파일 삭제하기


fs.unlink("output2.txt", (err) => {
  if (err) throw err;
  console.log("파일 삭제 완료");
});