2012-11-01 43 views
0

這讓我瘋狂。我花了數小時搜索這個,並找不到其他人遇到這個問題。我已將我所需的所有圖像放到src文件夾中,但是當我運行該程序時,它不會繪製圖像。我檢查了bin文件夾,並且他們已被正確複製。即使使用bin文件夾中的所有資源,當我使用相對文件路徑時,eclipse也不會識別它們。如果我打開一個命令提示符並cd到bin文件夾並運行它,則所有圖像都將被繪製,而不會更改代碼。我怎樣才能得到eclipse通過相對文件路徑使用圖像?eclipse無法識別bin文件夾中的資源(通過相對文件路徑)

+0

請嘗試通過將圖像複製到項目中的根文件夾讓我們知道您是否面臨任何問題。 – gks

+0

謝謝Thanga!我不知道爲什麼我沒有想到這一點......但是當你使用相對文件路徑時,是否有機會改變eclipse查找圖像的位置? – tyler

+0

我認爲所以我們不想在日食中指定任何相對的時候,它在項目文件夾中..只是單獨使用文件名..現在它工作嗎? @tyler – gks

回答

0

Copy imagesroot folderproject它應該爲你工作,默認情況下eclipse將簡單的通過指定其名字讀projectfile,並認爲這是相對路徑。 Bin文件夾通常用於存儲所有在eclipse中編譯java文件後的所有class files,這應該是避免的原因,您可以將文件的相對路徑添加到源代碼與其單獨的folers。

糾正我,如果「M撥錯

0

當您嘗試訪問使用new File("some/relative/path")文件,路徑總是相對於Java應用程序,從開始的位置。當你不確定這是哪個位置時,你可以通過打印new File(".").getAbsolutePath()找到。在Eclipse的情況下,這將是Project文件夾。

如果要訪問應用程序的源文件夾中的文件,則應該使用class.getResource("path")class.getResourceAsStream("path")。在這裏,路徑可以是相對路徑(相對於class的包)或絕對路徑(絕對路徑爲類路徑)。

所以,如果你有一個包foo在這個包的Java文件Bar.java和圖像blub.gif,您可以通過使用Bar.class.getResource("blub.gif")Bar.class.getResource("/foo/blub.gif")獲取圖像 - 注意龍頭/

除了使用new File(...)之外,這也可以工作,然後將類和資源打包在Jar中。

相關問題