springboot-项目获取resources下文件的方法
程序员文章站
2022-07-09 12:57:35
...
spring项目获取resources下文件的方法
最近写读取模板文件做一些后续的处理,将文件放在了项目的resources
下,发现了一个好用的读取方法:
比如上边是你需要读取的文件:
读取的方法如下:
//File file = ResourceUtils.getFile("classpath:templates/b_dfd.txt");
File file = ResourceUtils.getFile("classpath:templates");
if(file.exists()){
File[] files = file.listFiles();
if(files != null){
for(File childFile:files){
System.out.println(childFile.getName());
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
上边的 ResourceUtils.getFile()
方法可以获取到resources
下的文件。
前几天发现,这个方法在linux
系统下没用,希望大家注意一下。
补充
通过一些大神的反馈,在打成jar包后基本会遇到两个问题如下:
- 获取不到resources下的文件。
- 获取到resources下的文件,但是乱码了。
基于这两个问题,一一解决。
打成jar包后获取文件的方法
ClassPathResource classPathResource = new ClassPathResource("static/model/pztjmodel.xls");
InputStream inputStream = classPathResource.getInputStream();
- 1
- 2
以上static/model/pztjmodel.xls
这个路径是从resources
目录下开始的。这个在打完包之后仍然可以。
打成jar包后文件乱码问题
springboot
项目都是maven项目,打成jar包后编译后的文件乱码,是说明maven打包的时候出了问题,这个是缺少了一个插件。如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>sql</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
注意nonFilteredFileExtensions
的标签配置,像上边配置了不同文件后缀的文件,这个就表示maven打包后会忽略这几个文件,不会对这种格式的文件编译,这样就不会出现乱码问题了 !!!
打成jar包后需要getInputStream 而不是getFile
上一篇: 绿色小贴士 全面解读环保标准之GreenGuard
下一篇: inout端口示例
推荐阅读
-
C#获取项目指定目录下文件的方法
-
python获取指定路径下所有指定后缀文件的方法
-
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
-
php 获取文件下的所有文件。php 获取文件下的所有子文件。php 递归获取文件下的所有文件。封装好的方法
-
C#获取项目指定目录下文件的方法
-
springboot-项目获取resources下文件的方法
-
maven项目打jar包后获取resources下文件的代码报错:FileNotFoundException:no such file or directory
-
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
-
python获取指定路径下所有指定后缀文件的方法
-
python获取指定路径下所有指定后缀文件的方法