获取json资源会抛出NullPointerException

时间:2016-08-03 17:26:02

标签: java json

我一直在尝试从我的src文件夹中的res文件夹加载我的json文件(LandInfo)。

enter image description here

我想加载文件,以便可以使用Gson解析它。

我尝试过:

getClass().getResource("res/LandInfo").toExternalForm()

new InputStream(getClass().getResourceStream("res/LandInfo"))

因为Gson#fromJSon接受字符串或读者

但是,两个选项都返回null。

我如何以正确的方式查找文件?

1 个答案:

答案 0 :(得分:3)

getClass()。getResource()从您的类所在的目录中加载资源(此处为" src / sample") 因此,此方法返回的URL看起来像" src / sample / res / LandInfo"这是不正确的。

相反,您可以使用:

getClass().getResource("../res/LandInfo").toExternalForm()

new InputStream(getClass().getResourceStream("../res/LandInfo"))

在使用Maven,Gradle等构建管理器时,还要确保将非java文件(资源)复制到构建文件夹中