gpt4 book ai didi

从 .jar 文件加载 Java 图像

转载 作者:行者123 更新时间:2023-11-30 10:42:23 24 4
gpt4 key购买 nike

我正在尝试从用户放置图像的名为 Custom 的文件夹中加载图像。这是我用来加载图像的方法:

public BufferedImage getCustImg(String path){
BufferedImage img = null;
String s = get.getProgramPath();
path = path.trim();
String s2 = s + "\\Custom\\" + path + ".png";

try{
img = ImageIO.read(this.getClass().getResource(s2));//gets image from file path
} catch (IOException e) {
e.printStackTrace();
}
return img;
}

这里是程序路径的方法

public String getProgramPath(){
File f = new File("./Resources/Sprtes/blank.png");
String s = f.getAbsolutePath();
String[] stringArr = s.split("Resources");
String s2 = stringArr[0];
s2 = s2.substring(0, s2.length() - 3);
return s2;
}

当我运行代码时一切正常,但当我尝试将程序作为 .jar 文件运行时出现问题。当我使用 .jar 文件运行它时,图像不会加载。这是自定义文件夹与 .jar 文件相关的位置:

File Structure

我应该如何更改方法以确保其有效?

最佳答案

感谢 Luke Lee 和 Olithegoalie,我解决了这个问题,

img = ImageIO.read(this.getClass().getResource(s2)); 如果路径超出 jar 则不起作用,所以我不得不将其更改为

public BufferedImage getCustImg(String path){
BufferedImage img = null;
String s = get.getProgramPath();
path = path.trim();
String s2 = s + "\\Custom\\" + path + ".png";
try{
img = ImageIO.read(new File(s2));
} catch (IOException e) {
e.printStackTrace();
}
return img;
}

关于从 .jar 文件加载 Java 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38175263/

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