Java读取Web项目中的Resource文件
2022-07-21 本文已影响0人
大鱼馆长
1. 遇到的问题
IDEA调试时,Java能读取到resource目录下的文件,Jar包部署到Linux上之后,读取resource目录下的文件报空指针异常null。
2. 解决方案
Web项目读取Jar包中的resource文件要使用InputStream的方式,具体的示例代码如下:
String fileName = "data/test.txt";
try (InputStream in = this.getClass().getClassLoader().getResourceAsStream(fileName);
Reader reader = new InputStreamReader(in);
BufferedReader bReader = new BufferedReader(reader)) {
String line;
while ((line = bReader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
throw new RuntimeException("读取文件失败", e);
}
3. 在pom文件中添加resource标签,使resource目录的data文件夹下的所有文件都可以打入Jar包。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>data/**</include>
</includes>
</resource>
</resources>
</build>
4.总结
及时记录,避免重复踩坑,哈哈哈。。。