2011-08-10 95 views
2

我見過很多其他人提出這個問題herehere,但似乎我已經做了所有必要的事情,但在使用getResourceAsStream()調用時仍然得到空值。getResourceAsStream返回null

在NetBeans中,我將圖像拖入我的包中,並顯示在源代碼和.class文件所在的文件夾中。所以,我有: 的src \ COM \ myProject的\ ClassIMakeTheCallFrom.java 的src \ COM \ myProject的\ MyImage.png

也是類似的結構存在於: 構建\類\ COM \ myProject的\ ClassIMakeTheCallFrom.class 建立\類\ COM \ myProject的\ MyImage.png

然而,當我撥打電話:

System.out.println(dolphinWater.class.getClassLoader().getResourceAsStream("myImage.png")); 

它配備了空。我錯過了什麼嗎?

+0

是在一個罐子裏的形象呢?只是說我的「myImage.png」會在根目錄中查找,而不是在你的包中。 – Ali

回答

3

將文件直接放在src文件夾中,而不是包文件夾中。 或者使用getResourceAsStream("com/myProject/myImage.png")

http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)

+1

我認爲你錯過了一個'/',它會更好地與:getResourceAsStream(「/ com/myProject/myImage.png」) – JVerstry

+0

如果「com」位於類路徑的根目錄下,則不會。不需要'/'。如果不是這樣的話,根本不會工作,而'/'不會幫助它。 – duffymo

+0

鏈接顯示404錯誤。 – ashokramcse

相關問題