如何在PathMatchingResourcePatternResolver上应用文件名模式?

时间:2017-01-12 15:00:59

标签: java spring

我正在使用通配符从文件系统加载资源:

Resource[] resources = new PathMatchingResourcePatternResolver()
    .getResources("/my/path/*.zip");

问题:如何只加载文件名中没有下划线.zip的{​​{1}}个文件? 是否可以使用通配符模式?

1 个答案:

答案 0 :(得分:1)

PathMatchingResourcePatternResolver默认使用AntPathMatcher, 哪些(幸运的是)可以执行基于RegExp的通配符,因此您可以像这样使用它:

Resource[] resources = new PathMatchingResourcePatternResolver()
     .getResources("/my/path/{filename:[^_]*.zip}");

[^_] - 是一个否定的字符范围,它将匹配除_之外的任何字符,因此[^_]*.zip将匹配任何以.zip结尾的文件名,而不是他们的名字中有_