Java實現(xiàn)文件夾中內(nèi)容定時刪除
今天我和大家分享一下用Java實現(xiàn)對一個文件夾中內(nèi)容定時刪除。
讓我們來看一下對一個文件夾中內(nèi)容定時刪除的功能。
對于文件的刪除就是用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()方法 ,但是沒有寫具體實現(xiàn),這是由使用者去寫的(誰調(diào)用誰就寫具體的實現(xiàn))。
//設置定時任務 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() + "已清理!!!"); } } }
主函數(shù):
public static void main(String[] args) { File file = new File("D:\\mycode"); clock(file); }
總結:要實現(xiàn)對一個文件夾中內(nèi)容定時刪除的功能,我們要懂得利用遞歸對文件遍歷還有就是理解TimerTask和Timer中schedule()的用法。如果我們對這理解很深了,我們還可以做一個定時監(jiān)控指定文件夾,判斷是否有新文件或新目錄產(chǎn)生。甚至我們還可以做電視中每過幾秒換一個名字的選人的功能。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring Boot如何優(yōu)雅的使用多線程實例詳解
這篇文章主要給大家介紹了關于Spring Boot如何優(yōu)雅的使用多線程的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-05-05Spring Boot監(jiān)聽Redis Key失效事件實現(xiàn)定時任務的示例
這篇文章主要介紹了Spring Boot監(jiān)聽Redis Key失效事件實現(xiàn)定時任務的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04SpringBoot異步調(diào)用方法實現(xiàn)場景代碼實例
這篇文章主要介紹了SpringBoot異步調(diào)用方法實現(xiàn)場景代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04使用@Validated和@Valid 解決list校驗的問題
這篇文章主要介紹了使用@Validated和@Valid 解決list校驗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot整合SpringSecurity和JWT和Redis實現(xiàn)統(tǒng)一鑒權認證
Spring Security是一個可以為Java應用程序提供全面安全服務的框架,同時它也可以輕松擴展以滿足自定義需求,本文主要介紹了SpringBoot整合SpringSecurity和JWT和Redis實現(xiàn)統(tǒng)一鑒權認證,感興趣的可以了解一下2023-11-11在Spring Boot中使用swagger-bootstrap-ui的方法
這篇文章主要介紹了在Spring Boot中使用swagger-bootstrap-ui的方法,需要的朋友可以參考下2018-01-01