繁体   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