【问题标题】:IntelliJ IDEA, pack and load image file within an artifactIntelliJ IDEA,在工件中打包和加载图像文件
【发布时间】:2017-05-09 19:13:09
【问题描述】:

我的应用程序使用了一些图像文件。我将它们手动添加到文件 -> 项目结构 -> 工件 -> 输出布局下的工件中。如果我构建工件并使用存档管理器打开它,我可以看到图像文件位于根路径下。

如何在 Java 代码中加载它们?我尝试了简单路径(如“image.png”)和 getClass().getResource(),以及将文件移动到不同位置,但似乎没有任何效果。

【问题讨论】:

  • 使用完整的绝对路径应该可以。

标签: java file intellij-idea


【解决方案1】:

我必须将资源(“image”文件夹)放在使用它们的类的同一个包(在我的例子中是“gui”)中,然后调用 getClass().getResource( “图像/图标.png”)。

【讨论】:

    【解决方案2】:

    您有两个选择: 1) 使用System.getProperty("user.dir") 获取当前用户目录,它可以是您的项目根路径或某个系统路径。然后你可以把文件放在那里(见#1

    2) 使用类加载器ClassLoader.getResource(String name)。由于父委托模型,JVM首先在父类加载器的类路径中查找文件。如果你使用 IDEA,最简单的方法是使用 maven 创建一个新项目。在main 文件夹下将创建一个resources 文件夹。

    【讨论】:

    • 没有资源目录,我尝试在一些不同的路径下创建并添加它,但它不起作用。
    猜你喜欢
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多