써먹는 웹개발

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

웹개발/Java & Jsp

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

kmhan 2018. 8. 10. 14:21


728x90
반응형

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


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


// 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() + " 파일을 삭제했습니다.");
    }
     
}


출처: http://fruitdev.tistory.com/13 [과일가게 개발자]

728x90
반응형


Comments