我想讀從包* 的.class資源。我使用下面的代碼來實現這一目標?廣東話讀取資源
URL path = SomeClass.class.getResource("/source/someClass.class");
當我運行這段代碼,我結束了path = null;
。不過,如果我使用相同的代碼,並嘗試訪問其他資源,如* .gif注意:和 * .TXT 文件,它是成功的。是否有原因導致我無法訪問* .class文件?
我想讀從包* 的.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