尝试解析json时出现fileNotFound \ NullPointerExcetion错误

时间:2018-08-25 12:14:13

标签: java json maven parsing gson

我正在制作一个Maven项目,并且尝试使用Gson或simpleJson作为我的项目的解析器。

我的资源文件夹中有一个名为moves.json的文件 而当我尝试运行此代码时:

 JSONParser pr = new JSONParser();
Object el = pr.parse(new InputStreamReader(new FileInputStream("moves.json")));

我得到一个

Exception in thread "main" java.io.FileNotFoundException: moves.json (No such file or directory)

当我尝试这段代码时:

 JsonReader reader = new JsonReader(new InputStreamReader(test.class.getResourceAsStream("moves.json")));
    JsonElement movelist =  new JsonParser().parse(reader);

我得到一个:

Exception in thread "main" java.lang.NullPointerException

我尝试使用ClassLoader和getResource以及我在网络上搜索的其他方法,但遇到相同的空指针异常错误

这是完整的课程:

import com.google.gson.*;
import com.google.gson.stream.JsonReader;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

import java.io.*;


public class test {

public static void main(String [] args) throws IOException, ParseException {
    JSONParser pr = new JSONParser();
    Object el = pr.parse(new InputStreamReader(new FileInputStream("moves.json")));

    JsonReader reader = new JsonReader(new InputStreamReader(test.class.getResourceAsStream("moves.json")));
    JsonElement movelist =  new JsonParser().parse(reader);
    System.out.println("");
}

}

1 个答案:

答案 0 :(得分:0)

由于资源位于类路径上,因此应使用类加载机制打开流:

Object el = pr.parse(new InputStreamReader(
                   test.class.getResourceAsStream("moves.json")));