fs( File System ) 모듈
fs 모듈은 파일 입출력 처리를 할 때 사용하는 모듈입니다.
fs 모듈 불러오기
const fs = require('fs');
비동기 함수 VS 동기 함수
fs 모듈은 비동기( Asynchronous ) API와 동기( Synchronous ) API를 모두 제공하고 있습니다.
따라서 본인이 작성하는 프로그램의 성격을 고려하여 둘 중 어떤 API가 적합한지 판단해야합니다.
fs 모듈에서 제공하는 비동기 메서드는 마지막 인자로 콜백 함수를 받고 아무 값도 반환하지 않습니다. 반면 fs 모듈에서 제공하는 동기 메서드는 결과값을 리턴하며, 예외( exception )를 일으킬 수 있습니다. 동기 메서드의 이름은 Sync로 끝이 나기 때문에 쉽게 비동기 메서드인지 동기 메서드인지 구분이 가능합니다.
디렉토리 생성하기
fs 모듈을 이용해서 디렉토리 만드는 방법입니다. 비동기로 디렉토리를 만들 때는 mkdir() 메서드를 사용합니다.
( mac에서 터미널로 파일 만드는것과 비슷합니다. )
디렉토리 생성하기
// 비동기 ver
fs.mkdir("file-name", (err) => console.log(err));
// 동기 ver
try {
fs.mkdirSync("file-name");
} catch (err) {
console.log(err);
}
디렉토리 삭제하기
// 비동기
fs.rmdir("file-name", (err) => console.log(err));
// 동기
try {
fs.rmdirSync("file-name");
} catch (err) {
console.log(err);
}
파일 생성하기
// 파일 생성하기
const file = 'file.html';
fs.open(file, 'w', function(err, fd) {
if(err) throw err;
console.log('파일 열기');
});
파일 Options
r | 파일을 읽기 상태로 열며 해당 파일이 없으면 에러를 발생시킵니다. |
r+ | 파일을 읽기 / 쓰기 상태로 파일을 열며 파일이 없으면 에러를 발생시킵니다. |
w | 파일을 쓰기 상태로 열며 파일이 존재하지 않으면 생성, 존재하면 내용을 지웁니다. |
w+ | 파일을 읽기 / 쓰기 상태로 열며, 존재하지 않으면 생성, 존재하면 내용을 지웁니다. |
a | 파일을 추가 쓰기 상태로 열며, 파일이 없으면 만들어줍니다. |
a+ | 파일을 추가 읽기 / 쓰기 상태로 열며, 파일이 없으면 만들어줍니다. |
파일 확인하기
// 파일 확인하기
fs.exists('file.html', function(exists) {
console.log(exists ? "있습니다." : "없습니다.");
});
exists() 메서드는 파일이 존재하는지 확인해줍니다.
파일 이름 변경하기
// 파일 이름 변경
fs.rename('file.html', 'file2.html', function(err) {
if(err) throw err;
console.log('변경 성공');
});
rename() 메서드는 파일의 이름을 변경해줍니다. 해당 파일이 없거나 권한이 없다면 에러가 발생합니다. 또한 변경하려는 파일의 이름과 같은 파일이 존재하면 에러가 발생합니다.
파일 삭제하기
// 파일 삭제
fs.unlink('file2.html', function(err) {
if(err) throw err;
console.log('파일 삭제');
});
해당 파일이 없거나 권한이 없으면 에러가 발생합니다.
파일 읽기
// 파일 읽기
fs.readFile('file2.html', 'utf8', function(err, data) {
console.log(data);
});
파일 내용 쓰기
// 파일 내용 쓰기
const write = '파일에 적용시킬 내용';
fs.writeFile('file2.html', write, 'utf8', function(err) {
if(err) throw err;
console.log('내용 적용');
})
writeFile() 메서드는 파일 내부에 내용을 작성합니다. 파일이 존재하지 않으면 파일을 생성후에 작성해줍니다.
파일 내용이 이미 있으면, 이전 내용이 삭제되고 새로운 내용이 작성됩니다.
파일 내용 이어쓰기
// 파일 내용 이어쓰기
const write2 = '이어쓰기'
fs.appendFile('file2.html', write2, function(err) {
if(err) throw err;
console.log('이어쓰기 성공');
});
appendFile() 메서드는 파일에 내용을 이어서 작성해줍니다. 파일이 존재하지 않으면 파일을 생성후에 작성해줍니다.
'NodeJS > NodeJS' 카테고리의 다른 글
[ NodeJS | EJS ] EJS 사용하기 ( Feat. json파일 불러오기 ) (0) | 2023.05.24 |
---|---|
[ NodeJS ] nodemailer 사용하기 (0) | 2022.11.30 |
[ NodeJS ] crypto 암호화 복호화 (0) | 2022.07.15 |
[ Node ] nodemon 사용하기 (0) | 2022.07.07 |
[ Node ] webpack 사용하기 (0) | 2022.07.03 |