我正在尝试从 zip 文件中获取属性文件。我需要使用通配符,因为我想要匹配“my.properties”或“my_en.properties”。我创建一个ResourcePatternResolver
像这样:
ClassLoader loader = MyClass.class.getClassLoader();
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(loader);
当我尝试不使用通配符检索“my.properties”文件时,我成功了:
resolver.getResource("file:C:/somePath/a.zip/META-INF/my.properties").exists()
returns true
。但是,如果我在文件名中添加通配符,则会失败,例如,
resolver.getResource("file:C:/somePath/a.zip/META-INF/my*.properties").exists()
returns false
。我可以做什么来匹配和检索任一文件?我正在尝试在 Tomcat 内的网络应用程序中执行此操作。
文档对此并不清楚,但getResource
方法内部不使用 PathMatcher 来解析资源(这意味着不允许使用通配符),请尝试getResources(String locationPattern)
反而。
例如 :
Resource[] resources = resolver.getResources("file:C:/somePath/a.zip/META-INF/my*.properties");
for(Resource resource : resources) {
// do something for each resource found
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)