Node.js에서
fs
모듈은 파일 시스템과 상호작용할 수 있는 기능을 제공하는 기본 모듈입니다. 이를 사용하면 파일을 읽고, 쓰고, 삭제하는 등의 다양한 파일 관련 작업을 수행할 수 있습니다.
fs.readFile(path[, options], callback)
: 파일을 비동기적으로 읽습니다.fs.readFileSync(path[, options])
: 파일을 동기적으로 읽습니다.const fs = require('fs');
// 비동기 방식
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
// 동기 방식
const data = fs.readFileSync('example.txt', 'utf8');
console.log(data);
💡 Promise 방식
fs.promises
****: Promise 기반이므로 try
/catch
, async
/await
구문을 활용해 더 직관적이고 간결하게 작성할 수 있습니다.const fs = require('fs').promises;
fs.readFile('example.txt', 'utf8')
.then(data => {
console.log(data);
})
.catch(err => console.error(err));
const fs = require("fs").promises;
(async () => {
try {
const data = await fs.readFile("example.txt", "utf8");
console.log(data);
} catch (err) {
console.log(err);
}
})();
fs.writeFile(file, data[, options], callback)
: 파일을 비동기적으로 씁니다. 파일이 존재하지 않으면 새로 만듭니다.fs.writeFileSync(file, data[, options])
: 파일을 동기적으로 씁니다.const fs = require("fs");
// 비동기 방식
fs.writeFile('example.txt', 'Hello, Node.js!', (err, data) => {
if (err) {
console.error(err);
}
});
// 동기 방식
fs.writeFileSync('example.txt', 'Hello, Node.js!');
fs.unlink()
: 비동기적으로 파일을 삭제합니다.