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.总结

及时记录,避免重复踩坑,哈哈哈。。。

上一篇下一篇

猜你喜欢

热点阅读