fs module
- 파일 시스템 관련 작업을 수행하는 기능을 제공
const fs = require("fs");
fs.renameSync()
- 메소드는 동기적으로 파일 또는 디렉토리의 이름을 변경
- 동기 메소드이기 때문에 try catch로 묶어주는게 좋다
try {
fs.renameSync(old path ,new path)
}
catch (e) {
console.error(e);
}
try {
fs.renameSync('./test.txt', './test-new.txt')
}
catch (e) {
console.error(e);
}
fs.rename()
- 비동기적인 파일 또는 디렉토리 이름 변경 메소드
fs.rename(oldPath, newPath, callback(error));
fs.rename('./test-new.txt', './test-new-new.txt', (error) => {
console.log(error);
});
fs.promises
- 프로미스 기반의 파일 시스템 메소드
fs.promises.rename()
- 프로미스 기반의 파일 또는 디렉토리 이름 변경 메소드
fs.promises.rename(oldPath, newPath)
.then()
.catch((error) => console.log(error));
fs.promises.rename('./test-new-new.txt', './test.txt')
.then(()=> console.log("done!")) // 변경되었다면 done!
.catch((error) => console.log(error)); // 실패했으면 error
fs.promises.readFile()
- 프로미스 기반의 파일 읽기 메소드
fs.promises.readFile(경로, 인코딩방식);
fs.promises.readFile("./test.txt")
.then((data) => console.log(data))
.catch(console.error);
// <Buffer 48 65 6c 6c 6f 21 20 4e 6f 64 65 2e 6a 73 7e 21 21>
// utf-8로 인코딩 방식 지정
fs.promises.readFile("./test.txt", "utf-8")
.then((data) => console.log(data))
.catch(console.error);
// Hello! Node.js~!!
fs.promises.writeFile
- 프로미스 기반의 파일 쓰기 메소드
fs.promises.writeFile(경로, 출력할 데이터);
fs.promises.writeFile("./write.txt", "Hello! 파일 출력 에제입니다!")
.catch(console.error);
fs.promises.appendFile()
- 프로미스 기반의 파일 추가 쓰기 메소드
fs.promises.appendFile(경로, data)
fs.appendFile("./write.txt", "추가로 글을 출력합니다!")
.catch(console.error);
fs.promises.copyFile()
- 프로미스 기반의 파일 복사 메소드
fs.promises.copyFile(복사할 파일의 경로, 복사될 대상 파일의 경로);
fs.promises.copyFile("./write.txt", "./write2.txt")
.catch(console.error);
fs.promises.mkdir()
- 프로미스 기반의 디렉토리 생성 메소드
fs.promises.mkdir(경로);
fs.promises.mkdir("subdir")
.catch(console.error);
fs.promises.readdir()
- 프로미스 기반의 디렉토리 읽기 메소드
fs.promises.readdir(경로);
// 현재 디렉토리의 파일들 가져오기
fs.readdir('./')
.then(console.log)
.catch(console.error);
'Node.js' 카테고리의 다른 글
12. 스트림(Stream) (0) | 2023.04.19 |
---|---|
11. 버퍼(buffer) (0) | 2023.04.19 |
9. path module (0) | 2023.04.19 |
8. timer (0) | 2023.04.19 |
7. process module (0) | 2023.04.18 |