Java IntelliJ IDEA,在工件中打包并加载图像文件

Java IntelliJ IDEA,在工件中打包并加载图像文件,java,file,intellij-idea,Java,File,Intellij Idea,我的应用程序使用一些图像文件。我在文件->项目结构->工件->输出布局下手动将它们添加到工件中。如果我构建工件并用归档管理器打开它,我可以看到图像文件在根路径下 如何在Java代码中加载它们?我尝试了简单路径(如“image.png”)和getClass().getResource(),也尝试了将文件移动到不同的位置,但似乎没有任何效果。您有两种选择: 1) 使用System.getProperty(“user.dir”)获取当前用户dir,它可以是您的项目根路径或某些系统路径。然后可以将文件放

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

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

您有两种选择: 1) 使用
System.getProperty(“user.dir”)
获取当前用户dir,它可以是您的项目根路径或某些系统路径。然后可以将文件放在那里(请参见)

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

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

使用完全绝对路径应该可以。没有资源目录,我尝试在一些不同的路径下创建并添加它,但没有效果。