앞선 아티클에서 우리는 fs 메서드를 이용해 폴더 유무를 확인하고, 새롭게 생성하는 과정을 살펴보았습니다.
4. Node 기능 살펴보기 (8) - fs메서드 살펴보기 2
앞서 fs의 메서드를 사용한 예제를 살펴보았습니다. { return " data-og-host="nozeroslope.tistory.com" data-og-source-url="https://nozeroslope.tistory.com/554" data-og-url="https://nozeroslope.tistory.com/554" data-og-image="https:/
nozeroslope.tistory.com
이번에는 폴더 내용을 확인한 다음, 삭제하는 과정을 살펴보도록 하겠습니다. 우선 전제조건은 앞선 아티클의 예제를 통해서 현재 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 |