메모장
자바 하위 파일, 폴더 삭제 하는 법 본문
특정 폴더안의 파일, 폴더들을 삭제해야 할 배치프로그램을 만들 경우가 있어서 사용함
기본적으로 폴더를 삭제하려면 폴더안의 파일들을 삭제시켜야 삭제할 수 있다. 그렇기 때문에 재귀함수를 사용해야 한다
public class FileDeleteTest {
public static void deleteFileFn(String path) {
File file = new File(path); // 매개변수로 받은 경로를 파일객체선언 (/home/nation909/test 경로의 폴더를 지정함)
File[] files = file.listFiles(); // 해당 폴더 안의 파일들을 files 변수에 담음
if(files.length > 0) { // 파일, 폴더가 1개라도 있을경우 실행
for (int i=0; i<files.length; i++) { // 개수만큼 루프
if(files[i].isFile()) { // 파일일경우 해당파일 삭제
files[i].delete();
}
else { // 폴더일경우 재귀함수로 해당폴더의 경로를 전달함
deleteFileFn(files[i].getPath()); // 재귀함수
}
files[i].delete(); // 폴더일경우 재귀함수가 다돌고나서, 즉 폴더안의 파일이 다지워지고 나서 해당폴더를 삭제함
}
}
}
public static void main(String[] args) {
deleteFileFn("/home/nation909/test"); // 대상 폴더를 지정한다 (EX. /home/nation909/test 안의 파일, 폴더들을 삭제하려고 함)
}
}
'프로그래밍 > JAVA' 카테고리의 다른 글
eclipse jdk 환경변수 설정 eclipse.ini (리눅스, 윈도우) (0) | 2018.05.17 |
---|