Java查詢目錄下的所有文件(包括子目錄)


錄圖:

方法代碼:

復制代碼
  /**
     * 讀取目錄下的所有文件
     * 
     * @param dir
     *            目錄
     * @param fileNames
     *            保存文件名的集合
     * @return
     */
    public static void findFileList(File dir, List<String> fileNames) {
        if (!dir.exists() || !dir.isDirectory()) {// 判斷是否存在目錄
            return;
        }
        String[] files = dir.list();// 讀取目錄下的所有目錄文件信息
        for (int i = 0; i < files.length; i++) {// 循環,添加文件名或回調自身
            File file = new File(dir, files[i]);
            if (file.isFile()) {// 如果文件
                fileNames.add(dir + "\\" + file.getName());// 添加文件全路徑名
            } else {// 如果是目錄
                findFileList(file, fileNames);// 回調自身繼續查詢
            }
        }
    }
復制代碼

測試代碼:

復制代碼
public static void main(String[] args) throws Exception {
      List<String> fileNames = new ArrayList<String>();
      FileUtil.findFileList(new File("F:\\HTML\\bootstrap"),fileNames );
      System.out.println();
      for (String value :  fileNames) {
         System.out.println("file:"+value);
      }   
 }
復制代碼

整個類FileUtil.java:

復制代碼
public class FileUtil {
 
    public static void main(String[] args) throws Exception {
         List<String> fileNames = new ArrayList<String>();
         FileUtil.findFileList(new File("F:\\HTML\\bootstrap"),fileNames );
         System.out.println();
         for (String value :  fileNames) {
            System.out.println("file:"+value);
         }
         
    }
    
    
    /**
     * 讀取目錄下的所有文件
     * 
     * @param dir
     *            目錄
     * @param fileNames
     *            保存文件名的集合
     * @return
     */
    public static void findFileList(File dir, List<String> fileNames) {
        if (!dir.exists() || !dir.isDirectory()) {// 判斷是否存在目錄
            return;
        }
        String[] files = dir.list();// 讀取目錄下的所有目錄文件信息
        for (int i = 0; i < files.length; i++) {// 循環,添加文件名或回調自身
            File file = new File(dir, files[i]);
            if (file.isFile()) {// 如果文件
                fileNames.add(dir + "\\" + file.getName());// 添加文件全路徑名
            } else {// 如果是目錄
                findFileList(file, fileNames);// 回調自身繼續查詢
            }
        }
    }
}
復制代碼

結果圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM