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

2023-12-08

我在将 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");

这会在一个目录中找到该文件imagesjar 文件根目录。好的一点是getResource()方法的优点是,无论文件是否在 jar 中,它们都可以工作——如果images目录是磁盘上的真实目录,这仍然有效(只要其父目录images是你的课程路径的一部分。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在java中,如何从jar文件中检索图像? 的相关文章

随机推荐