gpt4 book ai didi

java - 获取Jar内文件的路径

转载 作者:行者123 更新时间:2023-12-01 23:48:30 25 4
gpt4 key购买 nike

我正在尝试访问位于正在运行的 jar 内的图像。

这是我的代码:

Image image = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/res/sprites/"));

上面的代码工作得很好。

我遇到的问题是将其转换为可读的字符串以供 BufferedImage 对象使用。

这是我的代码:(pathRelativeToThis 是一个字符串)

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 flow from URL! 错误。

正确的做法是什么?

最佳答案

您可以这样做并直接使用流:

InputStream is = getClass().getResourceAsStream("/res/sprites/" + pathRelativeToThis);
BufferedImage img = ImageIO.read(is);
is.close();

您是否尝试过直接将资源 URL 传递给 ImageIO?

URL url = getClass().getResource("/res/sprites/" + pathRelativeToThis)
BufferedImage img = ImageIO.read(url);

关于java - 获取Jar内文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16654353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com