[英]In java, how do you retrieve images from a jar file?
我在将Java项目导出到jar(从Eclipse)时遇到了问题。 我在jar中包含了一个名为images
。 它包含我的项目使用的所有图像文件。 问题是,仅当项目不是 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();
}
这很可能是一个简单的问题,因为我是编码的初学者。 当它们全部放在罐子里时,我需要更改什么才能使这些引用起作用?
这确实很简单:您可以在java.lang.Class
和java.lang.ClassLoader
使用各种getResource()
方法。 例如,在您的应用中,您可以编写
treeURL = getClass().getResource("/images/tree.png");
这将在jar文件根目录的images
目录中找到该文件。 getResource()
方法的getResource()
是,无论文件是否在jar中,它们都可以工作-如果images
目录是磁盘上的真实目录,则该目录仍然有效(只要images
的父目录是您的课程路径。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.