我猜想類似的問題已經被問到,但我找不到解決方案。我只是在基於Java Swings的繪畫應用程序上工作。 我需要爲BufferedImage類創建一個實例,以保存我繪製的圖像。我想選擇一幅背景圖片,我會畫出一些東西。我有一些預定義的背景圖像集,放在與源文件相同的文件夾中,並訪問代碼中的那些背景圖像。代碼在Netbeans中運行時完美運行。如果我構建並運行jar文件,它說無法讀取輸入文件。我才知道,我們不能直接訪問該文件罐中,所以我用下面的代碼:無法讀取輸入文件 - 讀取jar文件中包含的圖像-java
InputStream is = this.getClass().getClassLoader().getResourceAsStream("bg3.jpg");
bgfile=ImageIO.read(is);
bgfile是BufferedImage類的一個對象。所以一旦我作爲一個jar文件運行,下面的IOexception被拋出:
無法讀取輸入文件!
但是,如果我用winrar打開jar文件,我可以在jar文件的根目錄下找到文件bg3.jpg。 如果我將路徑設置爲「/bg3.jpg」,則jar文件本身不會打開。
所以我需要一些幫助和解釋。提前致謝。