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

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

 更新時間:2021年08月20日 08:33:15   作者:信仰柴神的人  
這篇文章主要為大家詳細介紹了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 的時間開始 ,對指定的任務(wù)執(zhí)行重復(fù)的 固定延遲preiod執(zhí)行 。

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

//設(shè)置定時任務(wù)
public static void clock(File file) {
    //設(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è)置定時任務(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é):要實現(xiàn)對一個文件夾中內(nèi)容定時刪除的功能,我們要懂得利用遞歸對文件遍歷還有就是理解TimerTask和Timer中schedule()的用法。如果我們對這理解很深了,我們還可以做一個定時監(jiān)控指定文件夾,判斷是否有新文件或新目錄產(chǎn)生。甚至我們還可以做電視中每過幾秒換一個名字的選人的功能。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java @Async注解導(dǎo)致spring啟動失敗解決方案詳解

    Java @Async注解導(dǎo)致spring啟動失敗解決方案詳解

    這篇文章主要介紹了Java @Async注解導(dǎo)致spring啟動失敗解決方案詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Mybatis攔截器實現(xiàn)分頁

    Mybatis攔截器實現(xiàn)分頁

    本文介紹使用Mybatis攔截器,實現(xiàn)分頁;并且在dao層,直接返回自定義的分頁對象。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 詳解Java的Hibernate框架中的注解與緩存

    詳解Java的Hibernate框架中的注解與緩存

    這篇文章主要介紹了詳解Java的Hibernate框架中的注解與緩存,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • IntelliJ IDEA中Project與Module的概念以及區(qū)別

    IntelliJ IDEA中Project與Module的概念以及區(qū)別

    這篇文章主要給大家介紹了關(guān)于IntelliJ IDEA中Project與Module的概念以及區(qū)別的相關(guān)資料,文中通過實例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Java中Base64加密解密舉例詳解

    Java中Base64加密解密舉例詳解

    Base64編碼是我們程序開發(fā)中經(jīng)常使用到的編碼方法,它是一種基于用64個可打印字符來表示二進制數(shù)據(jù)的表示方法,這篇文章主要給大家介紹了關(guān)于Java中Base64加密解密的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • java實現(xiàn)猜字母游戲

    java實現(xiàn)猜字母游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)猜字母小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 一不小心就讓Java開發(fā)踩坑的fail-fast是個什么鬼?(推薦)

    一不小心就讓Java開發(fā)踩坑的fail-fast是個什么鬼?(推薦)

    這篇文章主要介紹了Java fail-fast,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 教你怎么用Java操作Redis

    教你怎么用Java操作Redis

    今天帶大家來學習怎么用Java操作Redis,文中有非常詳細的介紹,對正在學習java的小伙伴們有很好的幫助,建議有redis基礎(chǔ)并熟悉redis的基本數(shù)據(jù)類型命令的小伙伴學習,需要的朋友可以參考下
    2021-05-05
  • 詳解Java對象序列化為什么要使用SerialversionUID

    詳解Java對象序列化為什么要使用SerialversionUID

    這篇文章主要介紹了詳解Java對象序列化為什么要使用SerialversionUID,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java中的HashMap集合深度解析

    Java中的HashMap集合深度解析

    這篇文章主要介紹了Java中的HashMap集合深度解析, HashMap可以說是Java中最常用的集合類框架之一,是Java語言中非常典型的數(shù)據(jù)結(jié)構(gòu),我們總會在不經(jīng)意間用到它,很大程度上方便了我們?nèi)粘i_發(fā),需要的朋友可以參考下
    2023-09-09

最新評論