【发布时间】:2020-09-02 09:31:13
【问题描述】:
我正在尝试读取我的 Spring Boot 2 应用程序中的 resources/configs 目录。下面是目录结构的例子:
resources
| configs
| | file1.xml
| | file2.xml
| | ...
我正在读取目录和嵌套文件的代码:
@Value("${app.configs-path}")
String configsPath;
...
Resource configsDirectoryResource = new ClassPathResource(configsPath);
InputStream configsDirectoryStream = configsDirectoryResource.getInputStream();
InputStreamReader configsDirectoryStreamReader = new InputStreamReader(configsDirectoryStream);
BufferedReader configsDirectoryBufferedReader = new BufferedReader(configsDirectoryStreamReader);
List<String> configFileNames = configsDirectoryBufferedReader.lines().collect(toList());
还有我的application.properties:
app.configs-path=configs
当我在 IDE 中运行我的应用程序时,一切正常。对象configsDirectoryResource 返回文件名流,然后我读取每个嵌套文件。但是当我启动 JAR 文件时,configsDirectoryResource 不返回任何文件名。但是我可以直接读取 XML 文件,但我想在运行时获取文件列表。
如何读取目录或获取 JAR 文件中目录中的文件列表?
【问题讨论】:
标签: java spring-boot classpath