在Java中,遍歷目錄和子目錄是一個非常常見的需求,尤其是在處理文件操作的場景中。Java提供了多種方式來實現該功能。
其中,一種比較簡單的方式是使用遞歸算法實現遍歷目錄,如下所示:
public static void traverseDir(String path) { File root = new File(path); if (!root.exists() || !root.isDirectory()) { return; } File[] subFiles = root.listFiles(); for (File subFile : subFiles) { if (subFile.isDirectory()) { traverseDir(subFile.getAbsolutePath()); } else { System.out.println(subFile.getAbsolutePath()); } } }
以上代碼中,我們定義了一個靜態方法traverseDir
,并接收一個參數path
,表示遍歷的路徑。首先判斷路徑是否有效,如果是目錄,則調用listFiles
方法獲取該目錄下的所有文件,對每個文件進行判斷,如果是目錄,則遞歸調用traverseDir
方法繼續遍歷,如果是文件,則打印出文件路徑。
除此之外,還有一些其他的方式來實現遍歷目錄和子目錄的功能,例如使用Files.walk
方法或 Apache Commons IO 工具類等。