Java實現文件夾中內容定時刪除
今天我和大家分享一下用Java實現對一個文件夾中內容定時刪除。
讓我們來看一下對一個文件夾中內容定時刪除的功能。
對于文件的刪除就是用File類中的delete()方法刪除當前File所表示的文件或者目錄(空目錄),不過這里要注意對于目錄的刪除是要判斷該目錄是否是空目錄,不是空目錄不能刪除,還需要對該目錄進行遞歸查找該目錄里的文件并刪除,如果遞歸查找的還是目錄,那么繼續(xù)進行上面的操作。
定時功能呢?java.util包中有一個Timer類,Timer類用于創(chuàng)建定時器類,Timer類中有schedule(TimerTask task,Date firstTime,long preiod)的方法:從指定firstTime 的時間開始 ,對指定的任務執(zhí)行重復的 固定延遲preiod執(zhí)行 。
設置定時任務的功能:TimerTask是一個抽象類,因為我們對定時任務的需求不同,不能固定寫一個具體的方法,或者寫上所有的方法。TimerTask就提供了run()方法 ,但是沒有寫具體實現,這是由使用者去寫的(誰調用誰就寫具體的實現)。
//設置定時任務
public static void clock(File file) {
//設置清理時間
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 26);
calendar.set(Calendar.SECOND, 0);
Timer timer = new Timer();
//設置定時任務
timer.schedule(new TimerTask() {
@Override
public void run() {
clean(file);
}
}, calendar.getTime(), 24 * 60 * 60 * 1000);
}
設置清理指定文件夾中的文件功能:
//清理文件
public static void clean(File file) {
File[] files = file.listFiles();
if (Objects.nonNull(files)) {
for (File f : files) {
//判斷是否是文件夾,是就遞歸
if (f.isDirectory()) {
clean(f);
}
//清理文件
f.delete();
System.out.println(f.getName() + "已清理!!!");
}
}
}
主函數:
public static void main(String[] args) {
File file = new File("D:\\mycode");
clock(file);
}
總結:要實現對一個文件夾中內容定時刪除的功能,我們要懂得利用遞歸對文件遍歷還有就是理解TimerTask和Timer中schedule()的用法。如果我們對這理解很深了,我們還可以做一個定時監(jiān)控指定文件夾,判斷是否有新文件或新目錄產生。甚至我們還可以做電視中每過幾秒換一個名字的選人的功能。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring Boot如何優(yōu)雅的使用多線程實例詳解
這篇文章主要給大家介紹了關于Spring Boot如何優(yōu)雅的使用多線程的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-05-05
Spring Boot監(jiān)聽Redis Key失效事件實現定時任務的示例
這篇文章主要介紹了Spring Boot監(jiān)聽Redis Key失效事件實現定時任務的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
使用@Validated和@Valid 解決list校驗的問題
這篇文章主要介紹了使用@Validated和@Valid 解決list校驗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
SpringBoot整合SpringSecurity和JWT和Redis實現統(tǒng)一鑒權認證
Spring Security是一個可以為Java應用程序提供全面安全服務的框架,同時它也可以輕松擴展以滿足自定義需求,本文主要介紹了SpringBoot整合SpringSecurity和JWT和Redis實現統(tǒng)一鑒權認證,感興趣的可以了解一下2023-11-11
在Spring Boot中使用swagger-bootstrap-ui的方法
這篇文章主要介紹了在Spring Boot中使用swagger-bootstrap-ui的方法,需要的朋友可以參考下2018-01-01

