我正在尝试将 json 文件读入用 JDeveloper 12c 编写的 Oracle MAF 项目。在这种项目中,我们有两个主要文件夹:ApplicationController 和 ViewController。我的 java 类在 ApplicationController 文件夹中,我的资源也在 public_html 文件夹中。我尝试了我在网上找到的所有东西,但似乎没有什么对我有用......
所以java类的根是这样的:\myProject\ApplicationController\adfmsrc\application\MyJavaClass.java
json 文件的根目录如下: \myProject\ApplicationController\public_html\json\myJsonFile.json
在我的 java 类中,我添加了如下函数,以便从项目中读取文件:
public static String loadJSONFromProject(String filename) {
String json = "";
try {
InputStream is = Utils.class.getResourceAsStream(filename);
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (Exception ex) {
ex.printStackTrace();
}
return json;
}
我尝试调用该方法的方式是这样的:
Utils.loadJSONFromProject("/json/myJsonFile.json");
Utils.loadJSONFromProject("json/myJsonFile.json");
Utils.loadJSONFromProject("../json/myJsonFile.json");
当我运行项目时,我得到一个
java.lang.NullPointerException 在线错误:int size = is.available();
这意味着找不到该文件。Utils 类是包含上述方法的 java 类。
请在这件事上给予我帮助...
提前致谢。