在我的項目中,我使用運行jar文件時出現Java FileNotFoundException
加載我的資源getClass().getResource("/package/my_reource.file").getFile()
當我在netbeans中運行項目時,一切正常,但是如果我運行jar文件,我得到FileNotFoundException,爲什麼?
謝謝。
在我的項目中,我使用運行jar文件時出現Java FileNotFoundException
加載我的資源getClass().getResource("/package/my_reource.file").getFile()
當我在netbeans中運行項目時,一切正常,但是如果我運行jar文件,我得到FileNotFoundException,爲什麼?
謝謝。
我不認爲你需要文件名。你更需要它的內容。因此請使用getResourceAsStream()
獲取InputStream
並從那裏讀取內容。
檢查你的jar。我相信你的文件不在那裏。 原因取決於你如何創建你的jar。如果你使用netbeans來做,請檢查你的設置。可能它只包含* .class文件?同樣是關於螞蟻。檢查標籤。
謝謝,但該文件已放入jar包中! – blow 2010-12-11 12:37:33
getFile()返回由getResource()返回的URL的文件路徑部分() 因此,如果它在Jar中,您必須閱讀jar來獲取他的文件。如果它在文件系統上可以使用FileInputStream讀取。
如果你想獲得的InputStream和你沒有創建你來自哪裏使用的getResourceAsStream()
您可以使用InputStream
,而不是getClass().getResource("/package/my_reource.file").getFile()
得到它應使用
getClass.getResourceAsStream("/package/myresource.file")
getFile()以String而不是文件的形式返回文件名。 ;) – 2010-12-11 12:41:56
感謝彼得提醒我:)。更新。 – Bozho 2010-12-11 12:44:57
我知道,我嘗試過使用getResourceAsStrem並且strem爲空。無論如何,我必須填寫一個碧玉報告文件,所以一個字符串路徑就足夠了。 JasperFillManager.fillReport – blow 2010-12-11 13:08:54