2012-04-17 74 views
0

我想讀從包* 的.class資源。我使用下面的代碼來實現這一目標?廣東話讀取資源

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

當我運行這段代碼,我結束了path = null;。不過,如果我使用相同的代碼,並嘗試訪問其他資源,如* .gif注意: * .TXT 文件,它是成功的。是否有原因導致我無法訪問* .class文件?

+0

網址在罐子是區分大小寫的。確保該文件不是被命名爲SomeClass.java。 – 2012-04-17 02:03:36

回答

0

可能是資源的路徑不正確。因爲類目錄是特殊的項目。

你可以嘗試以下方法:

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

的packagepath的像 「/ COM/XXX/projectTest」。

+0

你是對的。非常感謝! – 2012-04-17 20:46:38

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文件中。

+0

我嘗試了下一個:URL url = Class.getResource(「。package.SomeClass」) - 不起作用。 – 2012-04-17 06:56:59

+0

你做錯了。這就是爲什麼它不起作用。使用Class.getResource(「package/SomeClass」)。 javadoc聲明您必須用'/'替換完全限定的類名中的'。'。 – chubbsondubs 2012-04-17 14:37:11