java查找文件夾下最新生成的文件的方法
java 操作文件是非常重要的,主要是操作File類(lèi),這里一起探討下,java怎么查找文件夾下最新生成的文件,希望對(duì)大家有幫助,謝謝
第一步
在本地電腦上找一個(gè)目錄,包含幾個(gè)文件,修改的時(shí)間有差別:
第二步
打開(kāi)eclipse創(chuàng)建一個(gè)測(cè)試類(lèi),主要操作File類(lèi):
第三步
編寫(xiě)一個(gè)遞歸方法,可以變量這個(gè)目錄下所有的文件,并輸出文件的路徑,和最后修改時(shí)間
第四步
定義main函數(shù),調(diào)用遞歸函數(shù),輸出所有文件的修改時(shí)間:
第五步
修改print方法,記錄出最近修改的文件路徑和修改的時(shí)間:
java如何查找指定目錄下的最新文件
package net.xsoftlab.baike; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; import java.util.List; //查找目錄下指定文件名的文件 public class TextSearchFile { static int countFiles = 0;// 聲明統(tǒng)計(jì)文件個(gè)數(shù)的變量 static int countFolders = 0;// 聲明統(tǒng)計(jì)文件夾的變量 public static File[] searchFile(File folder, final String keyWord) {// 遞歸查找包含關(guān)鍵字的文件 File[] subFolders = folder.listFiles(new FileFilter() {// 運(yùn)用內(nèi)部匿名類(lèi)獲得文件 @Override public boolean accept(File pathname) {// 實(shí)現(xiàn)FileFilter類(lèi)的accept方法 if (pathname.isFile())// 如果是文件 countFiles++; else // 如果是目錄 countFolders++; if (pathname.isDirectory() || (pathname.isFile() && pathname.getName().toLowerCase().contains(keyWord.toLowerCase())))// 目錄或文件包含關(guān)鍵字 return true; return false; } }); List<File> result = new ArrayList<File>();// 聲明一個(gè)集合 for (int i = 0; i < subFolders.length; i++) {// 循環(huán)顯示文件夾或文件 if (subFolders[i].isFile()) {// 如果是文件則將文件添加到結(jié)果列表中 result.add(subFolders[i]); } else {// 如果是文件夾,則遞歸調(diào)用本方法,然后把所有的文件加到結(jié)果列表中 File[] foldResult = searchFile(subFolders[i], keyWord); for (int j = 0; j < foldResult.length; j++) {// 循環(huán)顯示文件 result.add(foldResult[j]);// 文件保存到集合中 } } } File files[] = new File[result.size()];// 聲明文件數(shù)組,長(zhǎng)度為集合的長(zhǎng)度 result.toArray(files);// 集合數(shù)組化 return files; } public static void main(String[] args) {// java程序的主入口處 File folder = new File("E:/baidu");// 默認(rèn)目錄 String keyword = "1231"; if (!folder.exists()) {// 如果文件夾不存在 System.out.println("目錄不存在:" + folder.getAbsolutePath()); return; } File[] result = searchFile(folder, keyword);// 調(diào)用方法獲得文件數(shù)組 System.out.println("在 " + folder + " 以及所有子文件時(shí)查找對(duì)象" + keyword); System.out.println("查找了" + countFiles + " 個(gè)文件," + countFolders + " 個(gè)文件夾,共找到 " + result.length + " 個(gè)符合條件的文件:"); for (int i = 0; i < result.length; i++) {// 循環(huán)顯示文件 File file = result[i]; System.out.println(file.getAbsolutePath() + " ");// 顯示文件絕對(duì)路徑 } } }
相關(guān)文章
java中的類(lèi)型自動(dòng)轉(zhuǎn)換機(jī)制解析
這篇文章主要介紹了java中的類(lèi)型自動(dòng)轉(zhuǎn)換機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03詳解Java中實(shí)現(xiàn)SHA1與MD5加密算法的基本方法
這篇文章主要介紹了詳解Java中實(shí)現(xiàn)SHA1與MD5加密算法的基本方法,安全哈希算法第一版和消息摘要算法第五版也是通常人們最常用的加密算法,需要的朋友可以參考下2016-04-04Java C++實(shí)現(xiàn)相同MD5加密算法的方式
這篇文章主要介紹了Java與C++實(shí)現(xiàn)相同MD5加密算法的方法,需要的朋友可以參考下面文章內(nèi)容2021-09-09使用Java servlet實(shí)現(xiàn)自動(dòng)登錄退出功能
這篇文章主要介紹了使用Java servlet實(shí)現(xiàn)自動(dòng)登錄退出功能,,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11