Java遞迴遍歷資料夾及檔案過濾器使用(FileFilter)
遞迴遍歷資料夾:
public static void main(String[] args) {
getFile(new File("D:\\eclipsevaadinxu\\works\\test"));
}
/**
* @author admin
* @param file
* 遞迴遍歷資料夾
*/
public static void getFile(File file) {
if (file.isDirectory()) {
File[] filelist = file.listFiles(new MyFileFilter());
//如果是一個資料夾,則呼叫其listFiles方法獲取資料夾下的檔案或資料夾的絕對路徑
//使用檔案過濾器匿名物件
for (File f : filelist) {//使用加強for遍歷
getFile(f);//遞迴呼叫
}
}
}
檔案過濾器,FileFilter這個介面sun公司並沒有給我們實現類,所以我們可以自定義實現類,重寫accept方法,呼叫String類的endswith方法判斷檔案的型別,進行過濾。
public class MyFileFilter implements FileFilter {
public boolean accept(File paramFile) {
if (paramFile.isDirectory()) {
return true;
}
else{
String name = paramFile.getName();
if(name.endsWith(".java")){
System.out.println(paramFile);
return true;
}
}
return false;
}
}
未過濾的檔案:
過濾後的檔案:
相關文章
- Java 資料夾遞迴遍歷Java遞迴
- PHP遞迴遍歷資料夾PHP遞迴
- Java遍歷資料夾的兩種方法(非遞迴和遞迴)Java遞迴
- 迭代及用遞迴遍歷File檔案遞迴
- [grep] grep -R -l 遞迴過濾資料夾中檔案內容遞迴
- java中listFiles(Filefilter filter)檔案過濾器的實現過程JavaFilter過濾器
- 遞迴遍歷磁碟下的某一資料夾中所有檔案,並copy檔案生成檔案和帶資料夾的檔案遞迴
- C/C++遍歷資料夾和檔案C++
- java基礎:遞迴應用---遍歷檔案目錄Java遞迴
- matlab遍歷資料夾下的所有檔案Matlab
- 【資料結構】二叉樹遍歷(遞迴+非遞迴)資料結構二叉樹遞迴
- Java使用執行緒池遞迴壓縮資料夾下面的所有子檔案Java執行緒遞迴
- 二叉樹建立及遍歷演算法(遞迴及非遞迴)二叉樹演算法遞迴
- jQuery 遍歷 – 過濾jQuery
- Android遞迴刪除資料夾下所有檔案Android遞迴
- 遍歷二叉樹-------遞迴&非遞迴二叉樹遞迴
- 遠端, 資料夾遍歷
- c++ 遍歷資料夾C++
- js遞迴遍歷講解JS遞迴
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- 使用遞迴遍歷並轉換樹形資料(以 TypeScript 為例)遞迴TypeScript
- 利用 python 遍歷多級資料夾處理不同檔案Python
- asp.net 遞迴刪除資料夾及其子資料夾和所有檔案[轉]ASP.NET遞迴
- java--FilenameFilter檔案過濾器JavaFilter過濾器
- 【Java資料結構與演算法筆記(二)】樹的四種遍歷方式(遞迴&非遞迴)Java資料結構演算法筆記遞迴
- 遞迴遍歷網站所有 url遞迴網站
- python 遞迴遍歷目錄Python遞迴
- ASP.NET Core 中的檔案提供程式 遍歷資料夾讀取檔案資訊ASP.NET
- [java] 二叉樹的後序遍歷(遞迴與非遞迴實現)Java二叉樹遞迴
- 非遞迴實現先序遍歷和中序遍歷遞迴
- c# 上傳壓縮包 解壓,遍歷資料夾和檔案C#
- 遍歷檔案Java中遍歷出指定目錄中的所有檔案Java
- ASP.NET 8 AOT 遍歷資料夾獲取檔名稱及時長ASP.NET
- 遍歷資料夾的幾種方式
- php遍歷資料夾以及子目錄;PHP
- 二叉樹的非遞迴遍歷——java實現二叉樹遞迴Java
- 遞迴遍歷物件獲取value值遞迴物件
- 二叉樹非遞迴遍歷二叉樹遞迴