메모장

자바 하위 파일, 폴더 삭제 하는 법 본문

프로그래밍/JAVA

자바 하위 파일, 폴더 삭제 하는 법

hiandroid 2018. 3. 20. 14:05
반응형

특정 폴더안의 파일, 폴더들을 삭제해야 할 배치프로그램을 만들 경우가 있어서 사용함


기본적으로 폴더를 삭제하려면 폴더안의 파일들을 삭제시켜야 삭제할 수 있다. 그렇기 때문에 재귀함수를 사용해야 한다



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 안의 파일, 폴더들을 삭제하려고 함)

}

}


반응형