Node.js 파일 모드 알아보기: r, w, w+, a+

Node.js 파일 모드 알아보기: r, w, w+, a+

Node.js의 파일 시스템 모듈을 사용하면 파일 작업을 수행할 때 다양한 파일 모드를 지정할 수 있습니다. 이러한 파일 모드는 파일을 열 때 수행하려는 작업의 유형을 결정합니다. 주요 파일 모드로는 ‘r’, ‘w’, ‘w+’, 그리고 ‘a+’가 있습니다.

‘r’ 모드

‘r’ 모드는 파일을 읽기 전용으로 엽니다. 파일이 존재하지 않는 경우 오류가 발생합니다. 이 모드는 데이터를 파일에서 읽을 때 사용됩니다.

const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

‘w’ 모드

‘w’ 모드는 쓰기 전용으로 파일을 엽니다. 파일이 이미 존재하는 경우, 이를 비우고 새로 시작합니다(파일을 잘라냅니다). 파일이 존재하지 않으면 새 파일을 생성합니다. 주로 파일에 데이터를 쓸 때 사용됩니다.

const fs = require('fs');

fs.writeFile('example.txt', 'Hello Node.js', (err) => {
  if (err) throw err;
  console.log('File has been written');
});

‘w+’ 모드

‘w+’ 모드는 읽기와 쓰기 모두를 위해 파일을 엽니다. ‘w’ 모드와 유사하게, 파일을 비우고 시작합니다. 이 모드는 파일에 데이터를 쓰고, 그 결과를 읽을 필요가 있을 때 유용합니다.

const fs = require('fs');

fs.writeFile('example.txt', 'Initial content', (err) => {
  if (err) throw err;

  fs.readFile('example.txt', 'utf8', (err, data) => {
    if (err) throw err;
    console.log(data); // 출력: Initial content
  });
});

‘a+’ 모드

‘a+’ 모드는 읽기와 추가하기(append) 모두를 위해 파일을 엽니다. 파일이 존재하지 않으면 새로 만들어집니다. 이 모드는 파일의 기존 내용을 유지하면서 새로운 데이터를 파일 끝에 추가할 때 사용됩니다.

const fs = require('fs');

fs.appendFile('example.txt', '\nNew line in file', (err) => {
  if (err) throw err;
  console.log('New content added');
});

각각의 파일 모드는 특정한 사용 사례와 요구 사항에 맞게 선택될 수 있습니다. 예를 들어, 기존 데이터를 보존하면서 새로운 정보를 추가하고 싶다면 ‘a+’ 모드가 적합할 것입니다. 반면, 파일 내용을 완전히 새로운 것으로 대체하고자 한다면 ‘w’ 모드를 사용하는 것이 좋습니다.

Node.js의 파일 시스템 작업에 대한 더 자세한 정보는 공식 Node.js 문서에서 확인할 수 있습니다. 여기서는 파일 모드 외에도 다양한 파일 시스템 관련 기능과 메소드를 소개하고 있으니 참고하시기 바랍니다.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤