广东话读取资源
我想读从包* 的.class资源。我使用下面的代码来实现这一目标?广东话读取资源
URL path = SomeClass.class.getResource("/source/someClass.class");
当我运行这段代码,我结束了path = null;
。不过,如果我使用相同的代码,并尝试访问其他资源,如* .gif注意:和 * .TXT 文件,它是成功的。是否有原因导致我无法访问* .class文件?
可能是资源的路径不正确。因为类目录是特殊的项目。
你可以尝试以下方法:
URL path = SomeClass.class.getResource("PackagePath/someClass.class");
的packagepath的像 “/ COM/XXX/projectTest”。
你是对的。非常感谢! – 2012-04-17 20:46:38
重读的Javadoc。我认为这说明了两种方法可以使用的getResource():
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getResource(java.lang.String)
尝试以下操作:
URL path = Class.getResource("modified/package/SomeClass")
您可能需要使用:
InputStream stream = Class.getResourceAsStream("modified/package/SomeClass")
因为你只是试图将类文件复制到Jar文件中。
我尝试了下一个:URL url = Class.getResource(“。package.SomeClass”) - 不起作用。 – 2012-04-17 06:56:59
你做错了。这就是为什么它不起作用。使用Class.getResource(“package/SomeClass”)。 javadoc声明您必须用'/'替换完全限定的类名中的'。'。 – chubbsondubs 2012-04-17 14:37:11
网址在罐子是区分大小写的。确保该文件不是被命名为SomeClass.java。 – 2012-04-17 02:03:36