前言
之前经常使用spring的ResourceUtils获取资源文件目录,然后使用hutool文件工具类获取文件列表,这在idea运行没问题(war包tomcat容器运行也正常),但是当打成jar包就会报异常FileNotFoundException, ResourceUtils.getFile("classpath:static/upload/course").getPath()
正确
Resource[] resources = ResourcePatternUtils.getResourcePatternResolver(resourceLoader) .getResources("classpath:static/upload/course/*.jpg");
Resource类有getFilename()方法.getFile()还是会报错,必须采用文件流方式访问,InputStream inputStream = resource.getInputStream();
resourceLoader可以采用注解及构造方式注入都可以,也可以光声明设为null,getResourcePatternResolver这个里面参数为null也是可以的,他会自动使用defaultResourceLoader