当前位置: 首页 > 知识库问答 >
问题:

IntelliJ IDEA中Java项目中的相对资源路径

臧梓
2023-03-14

我试图使用相对路径在GUI中显示图标,如“display image fromresources/image.png”。我试过无数种不同的方式来表达这一点,但都不奏效。这使我认为这是我的智能想法设置或项目结构的问题。我已将“资源”文件夹设置为“资源文件夹”。我不知道它还指望我做什么。

src/main/java/ <-- set as "sources" in IntelliJ
src/main/java/ui/ <-- contains classes for my GUI
src/main/resources/ <-- set as "resources" in IntelliJ. Contains images.
String path = "src/main/resources/image.png";
System.out.println(new File(path).exists()); <-- true

共有1个答案

袁波
2023-03-14

我曾多次遇到此问题,而对我有效的方法是使用inputstream

InputStream is = Main.class.getClassLoader().getResourceAsStream("name_of_file.png");

使用inputstream将允许您读取各种文件类型。现在要加载图标,您可以执行以下操作:

Icon icon = new ImageIcon(ImageIO.read(is));
 类似资料:
  • 问题内容: 在我的Java应用程序中,我需要获取一些文件和目录。 这是程序结构: guiclass 加载resourcesloader类,该类将加载我的资源(目录和文件)。 至于文件,我试过了 为了获得真实的路径,但是这种方式行不通。 我不知道如何做目录。 问题答案: 提供相对于类加载器的路径,而不是要从中获取加载器的类。例如:

  • 本文向大家介绍java项目中的绝对路径和相对路径用法说明,包括了java项目中的绝对路径和相对路径用法说明的使用技巧和注意事项,需要的朋友参考一下 绝对路径:不可改变的路径 本地绝对路径:增加盘符的路径(e:/test/test.html) 网络绝对路径:增加协议,IP地址,端口号的路径(http://localhost:8080/test/test.html) 相对路径:可以改变的路径,但是以基

  • 问题内容: 我的游戏框架项目使用的资源文件是CSV文件,而我在资源目录下直接在游戏项目的根目录下创建了该文件,因此它与其他目录(如app,public等)处于同一级别。如何从Java或Scala文件中打开这样的文件使用相对于项目根目录的路径?当我进行战争并部署应用程序时,该路径也应该起作用。 问题答案: 该VirtualFile类应该做的,你需要“)fromRelativePath(”的一切,尤其

  • 已迁移至 官方的 awesome mobx

  • 问题内容: 如何创建资源,使其位于项目的资源文件夹中?在下面的内容中,“ test.txt”是我要创建的文件,但是variable:url为null,因此无法获得我要创建的文件的路径。 资源可能需要位于资源文件夹中,因为我需要在打包阶段将其与代码捆绑在一起。 问题答案: 这是行不通的,因为资源不是运行时位置。这是源位置。如果您尝试放置文件并运行程序,则url将不再为null。但这将指向您的targ

  • 如何从所有子项目中收集资源,并将它们复制到spring boot胖jar根路径中。假设我有3个项目 child-project-C同时依赖于A和B。启动重新打包对项目A和B是禁用的,对项目C是启用的,所以当我编译最终的jar时。它包括AAA。txt位于jar的根路径中,因为它来自child-project-C类路径,而不是abc。txt和def。txt进入project-A和project-B的j