앞선 아티클에서 우리는 fs 메서드를 이용해 폴더 유무를 확인하고, 새롭게 생성하는 과정을 살펴보았습니다.
이번에는 폴더 내용을 확인한 다음, 삭제하는 과정을 살펴보도록 하겠습니다. 우선 전제조건은 앞선 아티클의 예제를 통해서 현재 js파일 실행 폴더 내에 [/folder/newfile.js]가 존재하는 상황이라는 점입니다.
const fs = require('fs').promises;
fs.readdir('./folder')
.then( (dir) => {
console.log('폴더 내용 체크', dir);
return fs.unlink('./folder/newfile.js');
})
.then( () => {
console.log('파일 삭제 정상 완료');
return fs.rmdir('./folder');
})
.then( () => {
console.log('폴더 삭제 정상 완료');
})
.catch( (err) => {
console.error(err);
})
/* 출력
폴더 내용 체크 [ 'newfile.js' ]
파일 삭제 정상 완료
폴더 삭제 정상 완료
*/
· fs.readdir(경로, 콜백) : 폴더 안의 내용물을 확인합니다. 배열 안에 내부 파일, 폴더 명을 출력합니다.
· fs.unlink(경로, 콜백) : 파일을 지울 수 있는데, 만일 실행하는 파일이 존재하지 않는 경우는 에러가 발생합니다. 즉, 위와 같이 반드시 폴더 내용을 사전에 체크하는 과정을 거쳐야 합니다.
· fs.rmdir(경로, 콜백) : 특폴더를 지울 수 있는데, 만일 폴더 안에 파일이 남아 있을 경우는 에러가 발생합니다. 사전에 파일을 모두 먼저 지워야 합니다.
위 예제를 실행한 다음 한번 더 실행할 경우, ENOENT 에러가 발생합니다. 존재하지 않는 파일을 지우기 때문이죠.
/*
[Error: ENOENT: no such file or directory, scandir 'X:\xxxx\folder'] {
errno: -4058,
code: 'ENOENT',
syscall: 'scandir',
path: 'X:\\xxxx\\folder'
}
*/
'Programming > Node.js' 카테고리의 다른 글
4. Node 기능 살펴보기 (9) - 스레드 풀 (1) | 2024.06.12 |
---|---|
4. Node 기능 살펴보기 (8) - fs메서드 살펴보기 4 (0) | 2024.06.10 |
4. Node 기능 살펴보기 (8) - fs메서드 살펴보기 2 (0) | 2024.05.30 |
4. Node 기능 살펴보기 (8) - fs메서드 살펴보기 1 (0) | 2024.05.29 |
4. Node 기능 살펴보기 (7) - 버퍼와 스트림 6 (0) | 2024.05.28 |