File類查詢D盤下所有檔案
阿新 • • 發佈:2018-12-09
File類查詢D盤下所有檔案
話不多說,直接上程式碼
package com.cs.io; import java.io.File; public class AllFile { public static void main(String[] args) throws Exception { // 輸出D盤根目錄下面的檔案列表(包括所有的檔案和資料夾) //這裡需要使用遞迴方法 //獲取系統時間 long StartTime= System.currentTimeMillis(); //執行方法 getName("D:/");//使用遞迴方法,這裡我查的是D盤 //再次獲取系統時間將方法執行的時間列印 long EndTime = System.currentTimeMillis(); System.out.println("currentTimeMillis執行時間為:"+(EndTime-StartTime)); } public static void getName(String str) throws Exception { File file = new File(str); //獲取路徑引數下所有的檔案 File[] listFiles = file.listFiles(); for (File file2 : listFiles) { //將所獲取的檔案列印在控制檯 System.out.println(file2.getName()); //判斷給該資料夾下是否有子檔案 if (file2.listFiles()!=null) { if (file2.isDirectory()) { getName(file2.getAbsolutePath()); } } } } }
遍歷時用file2.listFiles()!=null這個條件,為什麼不用isFiles()方法, 因為在D盤中有些檔案沒有訪問許可權,是拒絕訪問 的,例如:$RECYCLE.BIN檔案(回收站), 下面有許多子檔案是拒絕訪問的