使用缓冲读取器读取资源

2022-09-03 00:32:36

我正在尝试读取将包含在 .JAR,但我得到了以下空指针:

bReader = new BufferedReader(new InputStreamReader(
                  this.getClass().getResourceAsStream("resources/" + fileName)));

但是,使用文件工作正常。

bReader = new BufferedReader(new FileReader(new File("resources/" + fileName)));

答案 1

假设您的 IDE/Maven/ANT/Gradle/build 过程将包含根目录 jar 中的“资源”内容,请尝试在 “/” 处找到它。

bReader = new BufferedReader(new InputStreamReader(
                           this.getClass().getResourceAsStream("/" + fileName)));

更新:

确保将“资源”文件夹配置为资源文件夹。


答案 2

这是一个春季框架项目吗?尝试:

BufferedReader bufferedReader = new BufferedReader(
          new InputStreamReader(new ClassPathResource("XML_Request.xml").getInputStream()));

要加载的资源位于 src/main/resources 目录中:

Resource to load is sitting in the src/main/resources directory


推荐