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("파일 삭제 완료");
});