title | layout | authors |
---|---|---|
Node.js로 파일 쓰기 |
learn |
flaviocopes, MylesBorins, fhemberger, LaRuaNa, ahmadawais, clean99, ovflowd, vaishnav-mk |
❗️ 번역 날짜: 2024년 12월 23일
공식 문서 원문은 아래를 참고하세요.
Writing files with Node.js
Node.js에서 파일을 쓰는 가장 쉬운 방법은 fs.writeFile()
API를 사용하는 것입니다.
const fs = require('node:fs');
const content = 'Some content!';
fs.writeFile('/Users/joe/test.txt', content, err => {
if (err) {
console.error(err);
} else {
// file written successfully
}
});
대신, 동기 버전 fs.writeFileSync()
를 사용할 수 있습니다:
const fs = require('node:fs');
const content = 'Some content!';
try {
fs.writeFileSync('/Users/joe/test.txt', content);
// file written successfully
} catch (err) {
console.error(err);
}
fs/promises
모듈에서 제공하는 promise-based fsPromises.writeFile()
메서드를 사용할 수도 있습니다:
const fs = require('node:fs/promises');
async function example() {
try {
const content = 'Some content!';
await fs.writeFile('/Users/joe/test.txt', content);
} catch (err) {
console.log(err);
}
}
example();
기본적으로 이 API는 파일이 이미 존재하면 파일 내용을 대체합니다.
플래그를 지정하여 기본값을 수정할 수 있습니다:
fs.writeFile('/Users/joe/test.txt', content, { flag: 'a+' }, err => {});
플래그 | 설명 | 파일이 없으면 생성됩니다 |
---|---|---|
r+ |
이 플래그는 파일을 읽기와 쓰기를 위해 엽니다. | ❌ |
w+ |
이 플래그는 파일을 읽기와 쓰기를 위해 엽니다. 또한 스트림을 파일의 시작으로 위치시킵니다. | ✅ |
a |
이 플래그는 파일을 쓰기를 위해 엽니다. 또한 스트림을 파일의 끝으로 위치시킵니다. | ✅ |
a+ |
이 플래그는 파일을 읽기와 쓰기를 위해 엽니다. 또한 스트림을 파일의 끝으로 위치시킵니다. | ✅ |
- fs 문서에서 더 많은 정보를 찾을 수 있습니다.
파일에 내용을 추가하는 것은 새로운 내용으로 덮어쓰지 않고 기존 내용에 추가하고 싶을 때 유용합니다.
파일 끝에 내용을 추가하는 유용한 방법은 fs.appendFile()
(및 동기 버전 fs.appendFileSync()
):
const fs = require('node:fs');
const content = 'Some content!';
fs.appendFile('file.log', content, err => {
if (err) {
console.error(err);
} else {
// done!
}
});
fsPromises.appendFile()
예제:
const fs = require('node:fs/promises');
async function example() {
try {
const content = 'Some content!';
await fs.appendFile('/Users/joe/test.txt', content);
} catch (err) {
console.log(err);
}
}
example();