在Java 中尋找具有通配符模式的檔案
目前的問題涉及找到一種方法來識別與通配符字串相符的檔案,例如Java 中的“../Test?/sample*.txt”。儘管 Apache commons-io 的 WildcardFileFilter 可用,但其在相對目錄路徑中尋找檔案的實作可能會出現一些混亂。
使用Apache Commons-IO
到利用Apache commons-io 中的FileUtils,可以使用以下程式碼片段:
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter);
此程式碼將傳回目前目錄中符合檔案的陣列。
處理目錄
在子目錄中搜尋文件,例如從目錄中搜尋「Test1」和「Test4」範例模式,可以新增一個額外的循環:
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java"); for (int i=0; i<dirs.length; i++) { File dir = dirs[i]; if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
這將遞歸地查找並列出與指定匹配的文件通配符模式。
其他注意事項
問題中提到的另一種方法是檢查 Apache Ant 的源代碼,它使用通配符語法。然而,對於大多數用戶來說,這可能不是最直接的解決方案。
此外,值得注意的是,Java 執行時間環境 (JRE) 會自動解析命令列參數中的簡單通配符,從而簡化了基本場景的過程。
以上是如何使用 Apache Commons-IO 在 Java 中尋找與通配符模式相符的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!