我想使用google的gson库读取json文件进行解析和阅读。
我的*.json
文件位于src/main/resources
所以我目前有这个代码:
JsonElement jElement = new JsonParser().parse(PUT_FILE_PATH_HERE);
PUT_FILE_PATH_HERE
在我的情况下会是什么?我在Mac上。
答案 0 :(得分:1)
首先,您必须了解/src/main/resources
中的文件不应被视为具有文件路径的资源。 Maven将为您的构建生成一个包,其中这些文件最终应该在运行时类路径上。它们可能位于.jar
中,可能位于物理文件系统中,等等。
要访问类路径上的资源,请使用ClassLoader#getResource(String)
或Class#getResource(String)
(或getResourceAsStream(String)
)。
在这种情况下,您可以使用
InputStream in = YourClass.class.getResourceAsStream("/yourfile.json");
获得InputStream
。然后,您可以使用InputStreamReader
创建InputStream
并将其传递给JsonParser#parse(Reader)
方法。