본문 바로가기
개발 공부 기록하기/- Kotlin & Java

[Java] 디렉토리내 일정기간 지난 파일 삭제

by soulduse 2016. 1. 5.
반응형

출처 : http://fruitdev.tistory.com/13


디렉토리내 일정기간이 지난 파일을 삭제해 보자.

아래는 파일의 마지막 수정시간이 현재로부터 3일이 지난 파일을 삭제하는 예제이다.

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
// Calendar 객체 생성
Calendar cal = Calendar.getInstance() ;
long todayMil = cal.getTimeInMillis() ;     // 현재 시간(밀리 세컨드)
long oneDayMil = 24*60*60*1000 ;            // 일 단위
 
Calendar fileCal = Calendar.getInstance() ;
Date fileDate = null ;
 
 
File path = new File("C:\test\") ;
File[] list = path.listFiles() ;            // 파일 리스트 가져오기
 
 
for(int j=0 ; j < list.length; j++){
                     
                     
    // 파일의 마지막 수정시간 가져오기
    fileDate = new Date(list[j].lastModified()) ;
     
    // 현재시간과 파일 수정시간 시간차 계산(단위 : 밀리 세컨드)
    fileCal.setTime(fileDate);
    long diffMil = todayMil - fileCal.getTimeInMillis() ;
     
    //날짜로 계산
    int diffDay = (int)(diffMil/oneDayMil) ;
 
     
    // 3일이 지난 파일 삭제
    if(diffDay > 3 && list[j].exists()){
        list[j].delete() ;
        System.out.println(list[j].getName() + " 파일을 삭제했습니다.");
    }
     
}


반응형