gpt4 book ai didi

java - 在 java 中,如何从 jar 文件中检索图像?

转载 作者:行者123 更新时间:2023-11-30 06:30:03 25 4
gpt4 key购买 nike

我一直在将我的 java 项目导出到 jar(从 Eclipse)中时遇到问题。我在名为 images 的 jar 中包含了一个文件。它包含我的项目使用的所有图像文件。问题是,我对这些图像的引用仅在项目不是 为 jar 形式时才有效。我不明白为什么,我想知道是否需要更改图像引用的措辞。这就是我正在做的引用图片:

    URL treeURL = null;
Image tree = null;
File pathToTheTree = new File("images/tree.png");
try {
treeURL = pathToTheTree.toURL();
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
tree = ImageIO.read(treeURL);
} catch(IOException e) {
e.printStackTrace();
}

这很可能是一个简单的问题,因为我是编码初学者。当这些引用都在一个 jar 中时,我需要更改什么才能使这些引用起作用?

最佳答案

这确实很简单:您在java.lang.Classjava.lang.ClassLoader 中使用各种getResource() 方法。例如,在您的应用中,您可以只写

treeURL = getClass().getResource("/images/tree.png");

这会在 jar 文件根目录的 images 目录中找到该文件。 getResource() 方法的好处在于,无论文件是否在 jar 中,它们都有效——如果 images 目录是磁盘上的真实目录,这仍然有效(只要 images 的父级是您的类路径的一部分。)

关于java - 在 java 中,如何从 jar 文件中检索图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875892/

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