在Java 中尋找帶有通配符字串的檔案
尋找與特定通配符模式相符的檔案是Java 中的一項常見任務。為了滿足這項需求,Apache commons-io 提供了 FileUtils 類,其中包含 listFiles 和 iterateFiles 等方法。
假設您有這樣的通配符模式:
../Test?/sample*.txt
使用FileUtils 列出符合的檔案:
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter); for (File file : files) { System.out.println(file); }
此程式碼在當前目錄中與此程式碼相符的文件通配符。但是,要處理巢狀目錄(例如 TestX 資料夾),您可以先迭代目錄:
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java")); for (File dir : dirs) { if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
雖然此解決方案有效,但可能無法達到預期的效率。考慮使用 RegexFileFilter 來實現更靈活和更複雜的匹配條件。
以上是如何在Java中使用通配符模式高效查找文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!