Node.js 파일 읽기, 쓰기 방법: 동기식 vs 비동기식
Node.js에서 파일 시스템 작업은 일반적인 작업 중 하나입니다. Node.js의 fs
모듈을 사용하여 파일을 읽고 쓸 때, 주로 동기식(sync)과 비동기식(async) 방식을 사용할 수 있습니다. 이 글에서는 readFile
, readFileSync
, writeFile
, writeFileSync
메소드를 사용하여 파일을 읽고 쓰는 방법에 대해 알아보겠습니다.
비동기식 파일 읽기와 쓰기
Node.js에서 비동기 방식은 일반적으로 권장되는 방식입니다. 비동기 방식을 사용하면, 파일 시스템 작업이 백그라운드에서 실행되고, 작업 완료 시 콜백 함수를 통해 결과를 처리할 수 있습니다.
// 비동기식 파일 읽기
const fs = require('fs');
fs.readFile('/path/to/file', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
// 비동기식 파일 쓰기
fs.writeFile('/path/to/file', 'Hello World!', 'utf8', (err) => {
if (err) throw err;
console.log('파일이 성공적으로 쓰여졌습니다.');
});
동기식 파일 읽기와 쓰기
동기식 방식은 작업을 순차적으로 처리합니다. 동기식 메소드를 호출하면, 작업이 완료될 때까지 프로그램의 실행이 차단(block)됩니다. 따라서, 동기식 방식은 작업의 순서가 중요하거나, 간단한 스크립트에서 사용하기 적합합니다.
// 동기식 파일 읽기
const fs = require('fs');
const data = fs.readFileSync('/path/to/file', 'utf8');
console.log(data);
// 동기식 파일 쓰기
fs.writeFileSync('/path/to/file', 'Hello World!', 'utf8');
console.log('파일이 성공적으로 쓰여졌습니다.');
동기식과 비동기식 방식 중 어느 것을 사용할지 결정할 때는, 애플리케이션의 요구 사항과 작업의 복잡성을 고려해야 합니다. 대부분의 경우, 비동기식 방식이 선호되지만, 동기식 방식이 더 적합한 경우도 있습니다.
더 깊이 있는 학습을 위해 아래의 공식 문서를 참고하시기 바랍니다. 파일 시스템 작업을 효과적으로 관리하는 것은 Node.js 개발의 중요한 부분입니다.
참고 문서
관련 이전 게시글
- Node.js 소개 및 윈도우에 설치하는 방법
- Node.js 서버 생성 및 실행하는 방법
- Node.js 파일 읽기: fs.readFile 메서드 활용하는 방법
- Node.js 서버에서 동적으로 HTML 생성하는 방법
- Node.js 이벤트 처리하기: on, once, removeListener 메소드
이 글이 도움이 되셨다면 공유 부탁 드립니다.