0

我正在尝试从包中读取 * .class资源。我正在使用以下代码来实现这一点......

URL path = SomeClass.class.getResource("/source/someClass.class");

当我运行这段代码时,我最终得到path = null;. 但是,如果我使用相同的代码并尝试访问其他资源,例如 * .gif和 * .txt文件,则它是成功的。我无法访问 * .class文件有什么原因吗?

4

2 回答 2

0

重新阅读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 文件中。

于 2012-04-17T01:53:11.230 回答
0

可能是资源路径不正确。因为类目录对项目来说是特殊的。

您可以尝试以下方法:

URL path = SomeClass.class.getResource("PackagePath/someClass.class");

PackagePath 像“/com/xxx/projectTest”。

于 2012-04-17T01:57:45.363 回答