springboot 打成jar后怎么遍历resource目录下的文件????

现在resource下有一个目录 template目录,

   // 加载当前项目classpath下templates目录及其子文件夹中的所有文件
        Resource[] resources = new PathMatchingResourcePatternResolver().
                getResources(ResourceUtils.CLASSPATH_URL_PREFIX + basePath+FILE_SEP+"**");
        // 遍历文件内容
        for(Resource resource : resources) {
            File file = resource.getFile();
            if(file.isFile()) {
                files.add(file);
            }
        }

上面的代码在window下是可以的,但是打成jar包运行在Linux服务后总是提示找不到文件,
有谁遇到过这个问题没??

阅读 6.2k
1 个回答

可以这样写

@RestController
public class TestController {
    @Autowired
    private ApplicationContext applicationContext;

    @GetMapping("/test")
    public String test() {
        List<String> res = new ArrayList<>();
        try {
            Resource[] resources = applicationContext.getResources(ResourceUtils.CLASSPATH_URL_PREFIX + "static/**");
            for(Resource resource : resources) {
                res.add(resource.getFilename());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return res.stream().collect(Collectors.joining(","));
    }
}

部署后效果

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题