獲取資料夾下,包含子目錄內的所有指定字尾的檔案
阿新 • • 發佈:2021-01-08
技術標籤:開發經驗
寫了一個工具類,來獲取指定資料夾下,包含子目錄的所有指定字尾的檔案。
注意一個問題,這是一個遞迴呼叫,在工程上使用可能會比較危險,注意進行保護。
package com.angus.demo; import java.io.File; import java.util.ArrayList; import java.util.List; /** * @author angus * @date 2021/1/5 20:44 */ public class Test { public static void main(String[] args) { //要遍歷的路徑 String path = "C:\\Users\\iamazy\\Desktop\\imageDown"; //獲取其file物件,將所有的符合指定字尾的都放入到list裡 List<File> fileList = new ArrayList<>(); File file = new File(path); //指定問價的字尾 String fileSuffix = ".json"; func(file, fileList, fileSuffix); //接下來就可以對所有的檔案進行操作了。 System.out.println(fileList.size()); } private static void func(File file, List<File> fileList, String fileSuffix) { File[] fs = file.listFiles(); for (File f : fs) { //若是目錄,則遞迴列印該目錄下的檔案 if (f.isDirectory()){ func(f, fileList, fileSuffix); } if (f.isFile()){ //若是檔案,直接列印 if(f.getName().contains(fileSuffix)){ fileList.add(f); System.out.println(f.getName()); } } } } }