Micronaut 列表资源文件

Micronaut list resources files

在 spring 我可以使用 ResourceLoaderResourcePatternUtils:

class Foobar {
    private ResourceLoader resourceLoader;

    @Autowired
    public Foobar(ResourceLoader resourceLoader) {
        this.resourceLoader = resourceLoader;
    }

    Resource[] loadResources(String pattern) throws IOException {
        return ResourcePatternUtils.getResourcePatternResolver(resourceLoader).getResources(pattern);
    }
}

并使用它

Resource[] resources = foobar.loadResources("classpath*:../../dir/*.txt");

我如何在 Micronaut 中做到这一点?

我找到一个解决方案

添加

    @Inject
    private DefaultClassPathResourceLoader resourceLoader;

...
        Stream<URL> currencyStream = resourceLoader.getResources("currency/*.json");
        long count = currencyStream.count();
...

但计数总是 0 =(

没有等效的 Resource 界面,但是您可以检索 URL 格式的资源。

注入一个io.micronaut.context.env.ResourceLoader。它有 Stream<URL> getResources(String name)

编辑:一个例子

resourceLoader.getResources("some/directory/test.txt")

检查PathMatchingResourcePatternResolver 来自 io.micronaut.cli.io.support;