从 .jar 文件读取外部 json 文件
我想使用 Gson 从执行 jar 时作为参数接收的 json 文件构建一个 json 对象。
这是我用来读取 json 文件的方法
public static JsonObject loadData(String filename) throws FileNotFoundException {
Gson parser = new Gson();
File jsonFile = new File(filename);
BufferedReader br = null;
JsonObject fileParsed;
try {
br = new BufferedReader(new FileReader(jsonFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
fileParsed = parser.fromJson(br, JsonObject.class);
} catch (JsonSyntaxException e) {
throw e;
}
return fileParsed;
}
当我尝试使用框架(IntelliJ 或 Eclipse)运行它时,此方法在生成 jar 之前起作用,但是如果我生成一个 jar 文件,然后我尝试获取该 json 文件不在 jar 文件内则不起作用。
如果我执行 java -jar file.jar jsonFile.json 我得到 java.lang.NullPointerException
我尝试了一些其他方法,但总是 NullPointerException。有什么线索吗? 谢谢!
I want to build a json object using Gson from a json file received as parameter while executing the jar.
This is the method I used to read the json file
public static JsonObject loadData(String filename) throws FileNotFoundException {
Gson parser = new Gson();
File jsonFile = new File(filename);
BufferedReader br = null;
JsonObject fileParsed;
try {
br = new BufferedReader(new FileReader(jsonFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
fileParsed = parser.fromJson(br, JsonObject.class);
} catch (JsonSyntaxException e) {
throw e;
}
return fileParsed;
}
This method was working before generating the jar when I try to run it using the framework(IntelliJ or Eclipse) but If I generate a jar file and then I try to get the json file that is not inside the jar file is not working.
If I execute java -jar file.jar jsonFile.json I'm getting java.lang.NullPointerException
I tried some other ways but always NullPointerException. Any clue about this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论