我在spring boot应用程序后端的resource / static中的js文件夹旁边创建了一个数据文件夹。 我想在用户的选择中列出其内容。 如果我使用基本Java的File和Path函数,我就能列出它。但我不喜欢这种解决方案,因为路径可能会在我们系统的不同环境中发生变化。 我可以使用org.springframework.core.io.ResourceLoader加载文件。我更喜欢这个解决方案,因为它独立于我的系统的文件路径。但我没有找到列出给定资源文件夹中文件的方法。 你有什么想法吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
最后,我将数据文件夹移动到了WEB-INF。 我可以使用以下代码列出它的内容:
@Autowired
ServletContext context;
public Collection<String> getFileList(String path) {
Collection<String> result = new ArrayList<String>();
Set<String> paths = context.getResourcePaths(path);
for (String p : paths) {
String[] parts = p.split("/");
result.add(parts[parts.length-1]);
}
return result;
}
我用以下参数调用它:
getFileList("/WEB-INF/data");
如果在部署期间解压缩WEB-INF文件夹,则此解决方案有效。当数据文件夹保留在war存档中时也可以使用。