我试图访问位于正在运行的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。你为什么要把它转换成''字符串? –