본문 바로가기

JAVA

JAVA - 특정 시간이 지나면 확장자파일(.jpg/.png) 삭제

pakage test;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class FileDelete {

//절대 경로이기때문에 final로 선언
public static final String DATA_DIRECTORY = "경로"; 

public static void delFile(){
    
    // 파일의 경로
    File file = new File("경로");
    
    // 파일 수정일
    long lastFied = file.lastModified();  //lastModified() -> 마지막 수정일을 가져오는 메소드(long)
    
    // 현재시간
    Calendar cals == Calendar.getInstance();
    long today = cal.getTimeInMillis();
    
    // 3분전 시간
    long pastMin = today - 180000;   // 3분 == 180000 millisecond으로 환산 
    
    
    
    // 경로 내의 파일리스트 목록 가져오기
    /**
    	listFiles() : File file = new File(경로) 를 통해 디렉토리를 열고, 
    	listFiles()를 활용하요 해당 디렉토리의 서브 디렉토리와 파일 목록을 얻을 수 있다.
    **/
    
    File[] fileList = file.listFiles();
    
    // for each 문을 통해 파일의 배열만큼 리스트 꺼내기
    for(File fileName : fileList){
    	
        // 파일명 가져오기
        String name = fileName.getName();
        
        // 파일명의 확장자 가져오기 (lastindexOf() 검색순서 우측부터, toLowerCase() 대소문자 포함)
        String a = name.substring(name.lastIndexOf(".")+1).toLowerCase();
        
        // 조건. 파일명에 jpg가 포함되어있고
        // 		 파일 수정일이 현재시간에서 3분을 제외한 시간과 같거나 보다 오래되었을 때   
		
        if(a.contains("jpg") && pastMin >= lastFied){
        
			// 날짜 형식         
        	String pattern = "yyyyMMdd hh:mm:ss";
    		SimpleDateFormat sdft = new SimpleDateFormat(pattern);
            
            //마지막 파일수정시간
            Date lastModifiedDate = new Date(lastFied);
            
            //3분전 시간
            Date pastMins = new Date(pastMin);
            
            //출력해서 확인
            System.out.println(lastModifiedDate + "파일 수정일");
            System.out.println(pastMins + "과거 시간");
            
            System.out.println(lastModifiedDate + " 해당 파일 삭제 처리...");
            
            // 해당 파일 삭제
            fileName.delete();
            
            
            
    }
}
public static void main(String[] args){

	// 선언한 메소드 호출
    	delFile();
  }

 

 

 코드에서 사용되는 메소드 및  날짜 관련 클래스 추후에 정리

'JAVA' 카테고리의 다른 글

JAVA - 정규식 + 하이픈(-) 전화번호  (0) 2021.12.01
JAVA - 디렉토리 내 해당 확장자 파일만 삭제하기  (0) 2021.11.26
Java - static 변수/메소드  (0) 2021.10.25
Java- 생성자  (0) 2021.10.25
Java - 인스턴스 실습  (0) 2021.10.22