欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除

 更新時(shí)間:2021年08月20日 08:33:15   作者:信仰柴神的人  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天我和大家分享一下用Java實(shí)現(xiàn)對(duì)一個(gè)文件夾中內(nèi)容定時(shí)刪除。

讓我們來看一下對(duì)一個(gè)文件夾中內(nèi)容定時(shí)刪除的功能。

對(duì)于文件的刪除就是用File類中的delete()方法刪除當(dāng)前File所表示的文件或者目錄(空目錄),不過這里要注意對(duì)于目錄的刪除是要判斷該目錄是否是空目錄,不是空目錄不能刪除,還需要對(duì)該目錄進(jìn)行遞歸查找該目錄里的文件并刪除,如果遞歸查找的還是目錄,那么繼續(xù)進(jìn)行上面的操作。

定時(shí)功能呢?java.util包中有一個(gè)Timer類,Timer類用于創(chuàng)建定時(shí)器類,Timer類中有schedule(TimerTask task,Date firstTime,long preiod)的方法:從指定firstTime 的時(shí)間開始 ,對(duì)指定的任務(wù)執(zhí)行重復(fù)的 固定延遲preiod執(zhí)行 。

設(shè)置定時(shí)任務(wù)的功能:TimerTask是一個(gè)抽象類,因?yàn)槲覀儗?duì)定時(shí)任務(wù)的需求不同,不能固定寫一個(gè)具體的方法,或者寫上所有的方法。TimerTask就提供了run()方法 ,但是沒有寫具體實(shí)現(xiàn),這是由使用者去寫的(誰調(diào)用誰就寫具體的實(shí)現(xiàn))。

//設(shè)置定時(shí)任務(wù)
public static void clock(File file) {
    //設(shè)置清理時(shí)間
    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();
    //設(shè)置定時(shí)任務(wù)
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            clean(file);
        }
    }, calendar.getTime(), 24 * 60 * 60 * 1000);
​
}

設(shè)置清理指定文件夾中的文件功能:

//清理文件
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);
    }

總結(jié):要實(shí)現(xiàn)對(duì)一個(gè)文件夾中內(nèi)容定時(shí)刪除的功能,我們要懂得利用遞歸對(duì)文件遍歷還有就是理解TimerTask和Timer中schedule()的用法。如果我們對(duì)這理解很深了,我們還可以做一個(gè)定時(shí)監(jiān)控指定文件夾,判斷是否有新文件或新目錄產(chǎn)生。甚至我們還可以做電視中每過幾秒換一個(gè)名字的選人的功能。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot如何優(yōu)雅的使用多線程實(shí)例詳解

    Spring Boot如何優(yōu)雅的使用多線程實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot如何優(yōu)雅的使用多線程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Spring Boot監(jiān)聽Redis Key失效事件實(shí)現(xiàn)定時(shí)任務(wù)的示例

    Spring Boot監(jiān)聽Redis Key失效事件實(shí)現(xiàn)定時(shí)任務(wù)的示例

    這篇文章主要介紹了Spring Boot監(jiān)聽Redis Key失效事件實(shí)現(xiàn)定時(shí)任務(wù)的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 利用Java編寫24點(diǎn)小游戲的實(shí)例代碼

    利用Java編寫24點(diǎn)小游戲的實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用Java編寫24點(diǎn)小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • SpringBoot異步調(diào)用方法實(shí)現(xiàn)場(chǎng)景代碼實(shí)例

    SpringBoot異步調(diào)用方法實(shí)現(xiàn)場(chǎng)景代碼實(shí)例

    這篇文章主要介紹了SpringBoot異步調(diào)用方法實(shí)現(xiàn)場(chǎng)景代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 使用@Validated和@Valid 解決list校驗(yàn)的問題

    使用@Validated和@Valid 解決list校驗(yàn)的問題

    這篇文章主要介紹了使用@Validated和@Valid 解決list校驗(yàn)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • MyBatis編寫嵌套子查詢的動(dòng)態(tài)SQL實(shí)踐詳解

    MyBatis編寫嵌套子查詢的動(dòng)態(tài)SQL實(shí)踐詳解

    在Java生態(tài)中,MyBatis作為一款優(yōu)秀的ORM框架,廣泛應(yīng)用于數(shù)據(jù)庫操作,本文將深入探討如何在MyBatis中編寫嵌套子查詢的動(dòng)態(tài)SQL,并結(jié)合實(shí)際案例分析其應(yīng)用場(chǎng)景與實(shí)現(xiàn)技巧
    2025-06-06
  • Spring框架依賴注入方法示例

    Spring框架依賴注入方法示例

    這篇文章主要介紹了Spring框架依賴注入方法示例,分享了三種方法示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot整合SpringSecurity和JWT和Redis實(shí)現(xiàn)統(tǒng)一鑒權(quán)認(rèn)證

    SpringBoot整合SpringSecurity和JWT和Redis實(shí)現(xiàn)統(tǒng)一鑒權(quán)認(rèn)證

    Spring Security是一個(gè)可以為Java應(yīng)用程序提供全面安全服務(wù)的框架,同時(shí)它也可以輕松擴(kuò)展以滿足自定義需求,本文主要介紹了SpringBoot整合SpringSecurity和JWT和Redis實(shí)現(xiàn)統(tǒng)一鑒權(quán)認(rèn)證,感興趣的可以了解一下
    2023-11-11
  • 在Spring Boot中使用swagger-bootstrap-ui的方法

    在Spring Boot中使用swagger-bootstrap-ui的方法

    這篇文章主要介紹了在Spring Boot中使用swagger-bootstrap-ui的方法,需要的朋友可以參考下
    2018-01-01
  • Java程序中方法的用法重載和遞歸

    Java程序中方法的用法重載和遞歸

    Java語言中的“方法”在其他語言當(dāng)中也可能被稱為“函數(shù)”(Function)。對(duì)于一些復(fù)雜的代碼邏輯,如果希望重復(fù)使用這些代碼,并且做到“隨時(shí)任意使用”,那么就可以將這些代碼放在一個(gè)大括號(hào)“{}”當(dāng)中,并且起一個(gè)名字。使用代碼的時(shí)候,直接找到名字調(diào)用即可
    2021-10-10

最新評(píng)論