본문

일정기간 지난 파일 삭제(JAVA)

반응형

# 일정기간 지난 파일 삭제

디렉터리 내 일정기간 지난 파일 삭제


sample) 파일의 마지막 수정시간이 현재로부터 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
35
36
37
38
39
40
41
42
43
package com.aimir.bo.device;
 
import java.io.File;
import java.util.Calendar;
import java.util.Date;
 
public class FileValidation {
 
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();    // Calendar 객체 생성
        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() + " 파일을 삭제했습니다.");
            }
 
        }
 
    }
 
}
 
cs







반응형

공유

댓글