標籤:
題目:現有如下目錄結構,尋找結構中是否存在Directory11,如果存在,列印出來
|---test
|---|---Directory1
|---|---|---Directory11
|---|---|---|---Directory11
|---|---|---|---File111.txt
|---|---Directory2
|---|---|---Directory22
|---|---|---|---Directory11
|---|---|---|---File222.txt
|---|---Directory3
思路:
- 先判斷給定的目錄是否是一個目錄,如果不是,則提示退出
- 擷取到該目錄下的子目錄數組
- 如果子目錄是一個檔案,則跳出本輪迴圈,開始判斷下一個元素
- 如果子目錄是目錄,判斷是否名稱為Directory11,如果是,輸出其絕對路徑
- 調用本方法繼續判斷子目錄下面的子目錄
/** * 尋找給定目錄下是否存在名為Directory11的檔案夾 * @author LGB * */public class FileDemo01 { public static void main(String[] args) { findFile(new File("D:/test")); } public static void findFile(File file) { if (file.isDirectory()) { // 確保給定的對象是一個目錄 File[] fileList = file.listFiles(); // 擷取到該目錄下的子目錄數組 for (int i = 0; i < fileList.length; i++) { if (fileList[i].isFile()) { // 如果子目錄是一個檔案,則跳出本輪迴圈,開始判斷下一個 break; } else { if (fileList[i].getName().equals("Directory11")) { // 如果子目錄是目錄,判斷是否名稱為Directory11,如果是,輸出其絕對路徑 System.out.println(fileList[i].getAbsolutePath()); } findFile(fileList[i]); // 調用本方法繼續判斷子目錄下面的子目錄 } } } else { System.out.println("您給定的是一個文檔"); } }}
JAVA 尋找某個目錄是否存在,如果存在,列印出來