我試圖訪問位於正在運行的jar中的圖像。獲取Jar內部文件的路徑
這裏是我的代碼:
Image image = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/res/sprites/"));
上面的代碼工作絕對沒問題。
我遇到的問題是將其轉換爲BufferedImage objet使用的可讀字符串。
這裏是我的代碼:(pathRelativeToThis是一個String)
Image path = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/res/sprites/" + pathRelativeToThis));
String image = "file://" + path.toString();
URL url = new URL(image);
BufferedImage img = ImageIO.read(url);
這並不工作,併爲錯誤給javax.imageio.IIOException: Can't get input stream from URL!
。
這樣做的正確方法是什麼?
'Class.getResource()'返回URL。 'ImageIO.read(URL)'接受URL。你爲什麼要把它轉換成''字符串? –