使用相对路径读取文件失败时的解决办法
程序员文章站
2022-03-03 09:04:23
...
开发时本地使用绝对路径没啥问题,但部署上线时需要修改路径,所以把文件放在resources下,使用相对路径读取会更简单
File file = new File("test.xls");
但是往往这时候会出现找不到文件的尴尬情况
我的解决办法是使用下面这种读取方法
Resource resource = new ClassPathResource("test.xls");
FileInputStream excelFile = new FileInputStream(resource.getFile());
这样一般就能读取到文件了,但是我又遇到了一个尴尬的问题,读取出来的excel报错
Your file appears not to be a valid OLE2 document
还有一种问题是因为编译时未将excel的文件加载到classes下面导致文件找不到
后面找到的解决方法是在pom文件里添加配置
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!--是否替换资源中的属性-->
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/Dockerfile</include>
<include>**/*.xlsx</include>
<include>**/*.xls</include>
</includes>
<!--是否替换资源中的属性-->
<filtering>false</filtering>
</resource>
</resources>
在这里面的include标签中添加自己需要的文件格式,就能将文件打包到classes下面了
推荐阅读
-
Nodejs读取文件时相对路径的正确写法(使用fs模块)
-
云雀打印软件打印文件时提示打印数据获取(压缩)失败现象的解决办法介绍
-
python读取文件时的相对路径
-
VsCode C++使用相对路径读取文件失败的原因及解决方案
-
Eclipse与IDEA中如何正确的放置需要读取的文件来成功使用相对路径(java)
-
java Properties读取配置文件时的相对路径
-
在使用phpstudy的集成环境时,txt文件不能读取是什么原因呢?
-
在使用phpstudy的集成环境时,txt文件不能读取是什么原因呢?
-
使用相对路径读取文件失败时的解决办法
-
docker run中使用‘./‘相对路径挂载文件或目录失败的解决办法