Java로 개발하다 보면 파일 또는 디렉토리를 삭제해야 하는 경우가 발생합니다.
그리하여 간단하게 파일과 디렉토리를 삭제하는 소스를 작성 하였습니다.
[파일 삭제]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | package test; import java.io.File; public class FileDelete { public static void main(String[] args) { String filePath = "C:/tmp/test.txt"; boolean delYn = true; File file = new File(filePath); if(file.exists()) { delYn = file.delete(); if(delYn){ System.out.println("File Delete Success"); //성공 }else{ System.out.println("File Delete Fail"); //실패 } }else{ System.out.println("File Not Found"); //미존재 } } } |
위 소스는 간단한 파일 삭제 소스 입니다.
하지만 특정 디렉토리 밑에 하위 디렉토리들과 파일이 존재할때는 위와 같은 방법으로 삭제가 불가 합니다.
그럴 경우 아래와 같이 디렉토리 하위에 또 다른 디렉토리가 존재하는지 파일이 존재하는지 확인 후 하위부터 삭제해야 됩니다.
하위 디렉토리가 존재 할 경우 재귀호출 하여 다시 삭제를 시키는 소스 입니다.
[디렉토리 및 하위 디렉토리 파일 삭제]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | package test; import java.io.File; public class DeleteD { public static void main(String[] args) { DeleteD deleteD = new DeleteD(); boolean delYn = deleteD.deleteDirectory(new File("D://tmp/test")); //디렉토리 경로 if(delYn) { System.out.println("Success"); }else { System.out.println("Fail"); } } public boolean deleteDirectory(File path) { if(!path.exists()) { //경로가 존재하는지 확인 return false; } File[] files = path.listFiles(); //경로안의 파일 또는 디렉토리 리스트 추출 for (File file : files) { if (file.isDirectory()) { //디렉토리 라면 아래 실행 deleteDirectory(file); //deleteDirectory 메소드 재귀호출 } else { file.delete(); //파일이라면 파일 삭제 } } if(path.delete()) { //경로 삭제 return true; //성공 }else { return false; //실패 } } } |
Java 날짜 비교 (compareTo) (0) | 2016.12.14 |
---|---|
java 파일 읽어 문자열 중 한글 파악하기 (0) | 2016.10.25 |
[JAVA] 자바 형변환 (0) | 2016.09.01 |
Java Map 전체 출력 (0) | 2016.08.31 |
java calendar 특정일 부터 현재일 까지 출력 (Calendar 날짜 셋팅) (1) | 2016.08.24 |
댓글 영역