【问题标题】:Null pointer exception for file in test/resource [duplicate]测试/资源中文件的空指针异常[重复]
【发布时间】:2020-05-08 11:32:15
【问题描述】:

项目结构

/spp-test-automation
  /src
    /main
    /test
      /java
        /com.testing.tool
          Processor.java
      /resources
        processor.json

Processor.java 内,我试图获取processor.json 文件中的内容。但是,我收到了NullPointerException,我不知道为什么。

对于变量filepath,我尝试了"src/test/resources/procesoosr.json""processor.json""\processor.json" 的值,但我仍然得到NullPointerException

BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath));

我什至通过了绝对路径,但我也得到了同样的错误。

File file = new File("src/test/resources/processor.json");
String absolutePath = file.getAbsolutePath();

我正在使用 Intellij 运行这些测试,这就是我的配置。忽略红色文字,我只是重命名了包,但概念本质上是相同的

【问题讨论】:

标签: java resources


【解决方案1】:

尝试在src 之前添加一个点来表示您正在使用项目根目录的相对路径。否则,您将按绝对路径搜索。

File file = new File("./src/test/resources/processor.json");
String absolutePath = file.getAbsolutePath();

【讨论】:

    【解决方案2】:

    使用

        ClassLoader classLoader = new ReadResourceFileDemo().getClass().getClassLoader();
        File file = new File(classLoader.getResource(fileName).getFile());
    

    fileName="processor.json"

    【讨论】:

      【解决方案3】:

      开始:右击文件:选择复制路径:有3个路径:

      1. 绝对路径
      2. 内容根路径
      3. 源根路径

      通常是内容根路径。用这些路径测试后

      BufferedReader bufferedReader = new BufferedReader(new FileReader(path));
      

      【讨论】:

        猜你喜欢
        • 2021-06-05
        • 1970-01-01
        • 1970-01-01
        • 2014-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多