首頁 > Java > java教程 > Java定位檔案時如何符合通配符字串?

Java定位檔案時如何符合通配符字串?

Susan Sarandon
發布: 2024-12-03 10:09:11
原創
298 人瀏覽過

How to Match Wildcard Strings When Locating Files in Java?

如何在Java 中尋找與通配符字串相符的檔案

在Java 中,尋找符合特定通配符模式的檔案是一項常見任務。當給出像「../Test?/sample*.txt」這樣的通配符字串時,識別與此模式相符的對應檔案至關重要。

解決這項挑戰的一種廣泛接受的方法是利用 WildcardFileFilter來自 Apache Commons IO 庫的類別。此篩選器可讓您指定定義檔案搜尋條件的通配符表達式。

為了說明其用法,讓我們看一個示例:

import org.apache.commons.io.FileUtils;

File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.java");
File[] files = dir.listFiles(fileFilter);
for (File file : files) {
    System.out.println(file);
}
登入後複製

在此場景中,過濾器將查找所有當前目錄中與模式“sample*.java”匹配的文件,包括“s ample22b.java」和"sample-spiffy.java".

但是,如果您需要將更複雜的路徑與通配符和子目錄匹配,則需要更明確的方法。一種選擇是迭代子目錄列表,並將通配符過濾器分別應用於每個子目錄:

FileFilter dirFilter = new WildcardFileFilter("Test*");
File[] directories = dir.listFiles(dirFilter);
for (int i = 0; i < directories.length; i++) {
    File dir = directories[i];
    if (dir.isDirectory()) {
        FileFilter fileFilter = new WildcardFileFilter("sample*.java");
        File[] files = dir.listFiles(fileFilter);
    }
}
登入後複製

此方法可確保搜尋中也會考慮位於與「Test*」模式相符的子目錄中的文件結果。

以上是Java定位檔案時如何符合通配符字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板