我的项目设置如下所示:

现在,我尝试在report.json中引用这样的MainFrameTest.java文件
Template template = new JsonTemplate(Thread.currentThread().
getContextClassLoader().getResource("/report.json").toURI()); 我也试过:
Template template = new JsonTemplate(Thread.currentThread().
getContextClassLoader().getResource("report.json").toURI()); 而完整的道路:
Template template = new JsonTemplate(Thread.currentThread().
getContextClassLoader().getResource("C:/prohes/esc_print_test/report.json").toURI()); 但我总是会犯这样的错误:
java.lang.NullPointerException
at esc_print_test.MainFrameTest.<init>(MainFrameTest.java:28)
at esc_print_test.MainFrameTest.main(MainFrameTest.java:55)我做错什么了?谢谢
发布于 2014-11-04 07:34:06
试着先整理一下当前目录,然后你才能给出资源。
这样做,这将给你当前的文件夹地址。
String name = new File(".").getCanonicalPath();
System.out.println("Test "+ name);然后你就可以有文件了,因为你已经定义了路径。
要在该路径中获得新文件,请执行如下操作。
File file = new File(name, "/"+ "yourfilename.extension");希望这能有所帮助。
另外一个选择是
URI file = new File(name, "/"+ "one.text").toURI();
System.out.println(file);发布于 2014-11-03 12:11:00
将json文件放在src文件夹中,并直接在getContextClassLoader().getResource("report.json")中使用。
编辑:
我在月食中尝试过这样的方法:
public static void main(String arg[]){
System.out.println("test="+Thread.currentThread().getContextClassLoader().getResource("report.json"));
}输出:
test=file:/D:/liferay/BundleTomcat/workspace/springBatch/target/classes/report.json请务必检查report.json文件是否存在于.class文件所在的目标文件夹中。
https://stackoverflow.com/questions/26714004
复制相似问题