为什么getResource给出不同的结果?

时间:2012-06-05 00:48:36

标签: java getresource

下面是我的代码,当我在IDE中运行这些代码时效果很好,但是当我在dos命令中运行时,它会给我一个Null Pointer Exception错误。请帮帮忙。 谢谢!

     //first get the classLoader
    ClassLoader classLoader = TestMainPath.class.getClassLoader();
    //show message
    System.out.println("loader=" + classLoader);
    //
    URL r = classLoader.getResource("TestMainPath/TestMainPath.class");
    System.out.println("r=" + r);
    String mainPath =r.getPath();
    System.out.println(mainPath);
    File sf = new File(mainPath + "/main/newfile");
    System.out.println(sf.getPath());
    System.out.println(sf.exists());

1 个答案:

答案 0 :(得分:4)

您的问题仅仅是因为您的IDE没有像您那样启动应用程序。在您的情况下,差异在类路径上。 检查IDE如何启动程序,它使用哪个类路径。从命令行启动时,还要确认您的类文件确实在您期望的位置。