繁体   English   中英

如何在Java Jar文件中创建正确的资源文件路径

[英]How to create correct resource file path in a java jar file

坐在这里有一个更大的Java项目(面向软件专业的一年级学生),在创建正确的资源文件路径时遇到了一些麻烦。

我现在有.txt,.png,.jpg和.gif格式的文件。

现在,我使用这样的路径来查找文本文件:

File userFile = new File("Source Code/files/users.txt");

或类似这样的路径来创建在我的FX代码中加载的图像:

File logoPath = new File("Source code/files/graphics/Streamy_logo.png");
Image logoImage = new Image(logoPath.toURI().toString());
logo.setImage(logoImage);

这在我的IDE(IntelliJ)中可以正常工作,但是当我将项目创建为Jar文件时却无法正常工作。 我认为这与在jar文件中未创建的“源代码”目录有关,这现在很有意义。

试图阅读不同的主题,但是如果我应该使用getResources方法,设置resourceStream或其他方法,似乎有点不同。

有人可以帮我吗 谢谢!

您无法在.jar文件中加载类似的文件,这是有关如何读取BufferedImages的示例。 但是首先,通过在项目视图中右键单击该文件夹,然后转到“将目录标记为”并检查资源根目录,确保已将资源文件夹标记为IntelliJ中的资源文件夹。

    BufferedImage exampleBlock = null;
    try {
        exampleBlock = ImageIO.read(ClassLoader.getSystemResource("exampleBlock.png"));
    } catch (IOException e) {
        e.printStackTrace();
    }

通过使用这种获取文件的方法,所有文件都将实现为.jar文件,您可以通过调用其文件名+扩展名来使用它们

对于Maven或Gradle项目,可以遵循Maven目录约定

getClass().getResource("/your_file_located_in_src_main_resources.extension").getPath()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM