파일 관리 모듈이 필요한 이유 : 서로 다른 운영체제 간에 파일 관리가 가능
03-1 path 모듈
//1. join
path.join(path1, path2, path3);
//result: path1\path2\pat3
//2. diranme
path.dirname(path);
//result: 경로에서 파일 이름을 제외한 경로만 추출
//3. basename
path.basename(path);
path.basename(path,extension);
//4. extname
path.extname(path);
//5. parse
path.pare(경로);
03-2 FS 모듈
일반 모듈 사용하는 것과 사용법 같음
const fs = require("fs");
fs.함수명
- 동기 처리로 디렉터리 읽기 - readdirSync 함수
fs.readdirSync(경로)
- 비동기 처리로 디렉터리 읽기 - readdir 함수
fs.readdir(경로, 콜백)
03/list-2.js
const fs = require("fs");
fs.readdir("./", (err, files) => {
if (err){
console.error(err);
}
console.log(files);
});
1. fs 모듈 가져옴.
2. readdir 함수에서는 경로와 콜백을 인자로 사용
3. readdir 함수에서 읽어 온 경로 "./", 콜백 함수는 (err,files) => { ... } 형태
만약 비동기 과정에서 오류가 발생하면 첫 번째 인자에는 오류가 담기고
그렇지 않을 경우에는 err가 null이 되며 두 번째 인자인 files에 결과값이 담기게 된다.
비동기와 동기에 대한 부분은 요 글을 보니 확연히 차이를 볼 수 있었다. https://blog.naver.com/jhc9639/221108496101
03-3 파일 관리하기
- 동기 처리로 파일읽기 - readFileSync 함수
fs.readFileSync(경로);
- 비동기 처리로 파일읽기 - readFile 함수
fs.readFile(파일, 콜백);
- 동기 처리로 파일에 쓰기 - writeFileSync 함수
fs.writeFileSync(파일, 내용);
** 파일 존재 여부 체크하기 - existsSync 함수
const fs = require("fs"); const data = fs.readFileSync("example.txt", "utf8"); if (fs.existsSync("text-1.txt")){ console.log("file already exist"); }else { fs.writeFileSync("text-1.txt",data); }
- 비동기 처리로 파일에 쓰기 - writeFile 함수
fs.writeFile(파일, 내용, 콜백);
'전공 > node.js' 카테고리의 다른 글
[node.js] 기본 라우팅, 비동기 처리 방법 (node.js 스터디 -ch4,5) (1) | 2024.03.24 |
---|---|
[node.js] 자바스크립트 기초문법과 모듈 (node.js 스터디 1주차-ch2) (0) | 2024.03.20 |
[node.js] 실행환경 설정 (node.js 스터디 1주차-ch1) (0) | 2024.03.20 |