簡體   English   中英

如何僅使用JAVA API基於通配符過濾資源文件

[英]How to filter resource files based on wild card using only JAVA APIs

我的春季項目中的META-INF文件夾中有幾個資源文件。 我想使用通配符根據文件名過濾那些文件

例如:位於META-INF文件夾中的文件如下

a-config.xml
b-config.xml
c-config.xml

我想要的是使用通配符*-config.xml過濾這些文件

我已經知道我可以輕松地使用spring ResourcePatternResolver了。

我嘗試使用java.io.FileFilter但即使如此,我也必須通過RegEx來過濾文件名。

例如:

FileFilter customFilter = new FileFilter() {
      @Override
      public boolean accept(File pathname) {
        if(pathname.getName().matches("(.*)config(.*)")) {
           return true;
        }
     return false;
      }
    }; 

是否有其他方法可以執行此操作而無需使用任何第三方依賴項(Spring,Google Guava等)和RegEX? 我想使用簡單的通配符進行過濾。 非常感謝您的評論。

您想要的是一種不太常見的模式匹配,稱為Glob 一個解決方案是實現自己的globbing使用String類的方法(如startsWithendsWith ,...)。 但是我認為使用regex是最好的通用解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM