반응형
1. 시험환경
˙ Jdk-17.0.5
˙ IntelliJ
2. 목적
˙ 특정 폴더 하위에 있는 모든 폴더를 순회하면서 파일을 삭제하는 코드를 작성한다.
3. 적용
① 테스트 대상 폴더 구조 및 임시 파일이 있다.
- files : a.txt, b.txt
- files\subFolder1 : c.txt, d.txt
- files\subFolder1\subFolder2_1 폴더: e.txt
- files\subFolder1\subFolder2_1 폴더: gf.txt, h.txt, i.txt
② 재귀함수를 호출하면서 하위 폴더에 있는 모든 파일을 File 클래스 내장 메소드를 이용하여 삭제한다.
- .isFile() : 파일 여부
- .isDirectory() : 디렉토리 여부
- .delete() : 삭제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.io.File;
public class FileControl {
static void deleteFiles(String _targetDir) {
File path = new File(_targetDir);
File[] fList = path.listFiles();
if (fList != null) {
for(int i = 0; i < fList.length; i++) {
if(fList[i].isFile()) {
fList[i].delete();
System.out.println(String.format("%s is deleted...", fList[i].getPath()));
}
else if(fList[i].isDirectory()) {
deleteFiles(fList[i].getPath());
}
}
}
}
}
|
cs |
③ 대상 폴더를 지정하고 Main 클래스에서 테스트한다.
1
2
3
4
5
6
7
8
|
public class Main {
private static String targetFolder = "D:/workspace-java/files";
public static void main(String[] args) {
FileControl fileControl = new FileControl();
fileControl.deleteFiles(targetFolder);
}
}
|
cs |
④ 프로그램 코드
4. 결과
˙ 로그에서 삭제된 파일 목록을 확인한다.
1
2
3
4
5
6
7
8
9
10
11
|
D:\workspace-java\files\a.txt is deleted...
D:\workspace-java\files\b.txt is deleted...
D:\workspace-java\files\subFolder1\c.txt is deleted...
D:\workspace-java\files\subFolder1\d.txt is deleted...
D:\workspace-java\files\subFolder1\subFolder2_1\e.txt is deleted...
D:\workspace-java\files\subFolder1\subFolder2_2\f.txt is deleted...
D:\workspace-java\files\subFolder1\subFolder2_2\gf.txt is deleted...
D:\workspace-java\files\subFolder1\subFolder2_2\h.txt is deleted...
D:\workspace-java\files\subFolder1\subFolder2_2\i.txt is deleted...
Process finished with exit code 0
|
cs |
※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※
반응형
'스프링 프레임워크' 카테고리의 다른 글
Springboot 최초 시작 시 IntelliJ 에러 (finished with non-zero exit value 1) (0) | 2023.03.09 |
---|---|
[JAVA] WGS84 좌표간 직선거리 측정 코드 (0) | 2022.12.10 |
[SpringBoot] application.properties 설정 (mariadb) (0) | 2022.10.22 |
[JAVA] 경로내에 파일 목록을 추출하여 리스트로 저장 (0) | 2022.10.21 |
JSTL을 이용한 DTO 객체 출력 (0) | 2022.07.26 |