我在将 java 项目导出到 jar(从 Eclipse)时遇到问题。我已将一个文件包含在名为的 jar 中images
。它包含我的项目使用的所有图像文件。问题是,我对这些图像的引用仅在项目isn't罐子形式。我不明白为什么,我想知道是否需要更改图像引用的措辞。这就是我正在做的参考图像:
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();
}
这很可能是一个简单的问题,因为我是编码的初学者。当这些参考资料全部放在罐子里时,我需要更改什么才能使这些参考资料发挥作用?
这确实很简单:您使用各种getResource()
中的方法java.lang.Class
and java.lang.ClassLoader
。例如,在您的应用程序中,您可以编写
treeURL = getClass().getResource("/images/tree.png");
这会在一个目录中找到该文件images
jar 文件根目录。好的一点是getResource()
方法的优点是,无论文件是否在 jar 中,它们都可以工作——如果images
目录是磁盘上的真实目录,这仍然有效(只要其父目录images
是你的课程路径的一部分。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)