1. 程式人生 > >Spring定時任務註解實現定時清空指定資料夾下的檔案

Spring定時任務註解實現定時清空指定資料夾下的檔案

@EnableScheduling和@Scheduled(cron = "0 0 4 * * ?"),通過註解方式實現定時任務:
 1 import org.slf4j.Logger;
 2 import org.slf4j.LoggerFactory;
 3 import org.springframework.scheduling.annotation.EnableScheduling;
 4 import org.springframework.scheduling.annotation.Scheduled;
 5 import org.springframework.stereotype.Component;
6 import java.io.File; 7 import java.util.Date; 8 9 /** 10 * Created by xxx on 2018-11-17. 11 */ 12 @Component 13 @EnableScheduling 14 public class InitTaskConfig { 15 private static Logger logger = LoggerFactory.getLogger(InitTaskConfig.class); 16 /** 17 *設定定時任務 18 */ 19 @Scheduled(cron = "0 0 4 * * ?")
20 public void deleteEmailFileTask(){ 21 logger.info ("清空郵件附件臨時資料夾的定時任務開始"); 22 Date date = new Date(System.currentTimeMillis() - 1000 * 60 * 60*4); 23 File folder = new File(ConfigUtils.get("pdpm.app.delegate.filepath")); 24 File[] files = folder.listFiles(); 25 for
(int i=0;i<files.length;i++){ 26 File file = files[i]; 27 if (new Date(file.lastModified()).before(date)){ 28 file.delete(); 29 } 30 } 31 logger.info ("清空郵件附件臨時資料夾的定時任務結束"); 32 } 33 }

本程式碼實現的了,每天4點,清空指定資料夾下,檔案的最後修改時間是上一工作日及之前的所有檔案~