【发布时间】:2013-04-26 18:47:32
【问题描述】:
我正在使用 Eclipse 开发 Java 程序。现在,我有一个 src 文件夹,其中包含 2 个包:memory.views 和 memory.resources。
在 memory.views 包中,我有我的 Main.java 文件。在 memory.resources 包中,我有我的 .txt 文件和 .gif 文件。
在程序中,使用路径/memory/resources/name.txt 访问(和操作).txt 文件没有问题。但是,当我使用下面的代码对 .gif 文件执行相同操作时,我没有得到任何结果:
ImageIcon icon = new ImageIcon("/memory/resources/name.gif");
没有产生错误。唯一的影响是程序运行时看不到图像。
我也尝试过编写以下内容,但都没有成功:
ImageIcon icon = new ImageIcon("/resources/name.gif"); <br>
ImageIcon icon = new ImageIcon("name.gif");
现在,没有人说这是 .gif 文件的错,我实际上已经输入了完整的 Finder 路径(我使用的是 Mac)并且效果很好:
ImageIcon icon = new ImageIcon("/Users/[...]/src/memory/resources/name.gif");
但是,我不想做完整路径,因为如果我导出程序并在另一台计算机上运行它,那么非编程计算机也不会显示图像。
所以,现在,我什至不知道问题出在哪里。 .gif 文件有时有效,但在通过与 .txt 文件相同的路径访问时无效,该文件始终有效。我试着看这里(Cannot access resource by using the getResources() method),但他的问题似乎与我略有不同。
【问题讨论】:
-
我最近刚刚找到了这个问题的答案(部分感谢我在这里阅读的内容:stackoverflow.com/questions/12436851/icon-in-src-folder?rq=1)。我所做的是'ImageIcon icon = new ImageIcon(Main.class.getResource("/memory/resources/name.gif"));'。 :) 现在唯一要做的就是在另一台计算机上测试它。感谢大家的帮助!我非常感谢。