0

这真让我抓狂。我已经花了几个小时在谷歌上搜索这个,但找不到其他有此问题的人的案例。我已将程序所需的所有图像放入 src 文件夹中,但是当我运行程序时,它不会绘制图像。我检查了 bin 文件夹,它们已被正确复制。即使 bin 文件夹中有所有资源,当我使用相对文件路径时,eclipse 也无法识别它们。如果我打开命令提示符并 cd 到 bin 文件夹并运行它,则会绘制所有图像,而不会更改代码。如何让 eclipse 通过相对文件路径使用图像?

4

2 回答 2

0

Copy images它应该适合你,默认情况下,只需指定其名称并将其视为相对路径,它将root folder在其中读取。eclipse中通常用来存放java编译后的所有文件的文件夹,这应该是避免的原因,您可以将文件的相对路径添加到源代码中,并带有单独的文件夹。projecteclipsefileprojectBinclass files

如果我穿了,请纠正我

于 2012-11-01T05:10:10.777 回答
0

当您尝试使用 访问文件new File("some/relative/path")时,路径始终相对于 Java 应用程序的启动位置。当您不确定这是哪个位置时,您可以通过打印来查找new File(".").getAbsolutePath()。对于 Eclipse,这将是 Project 文件夹。

如果您想访问应用程序源文件夹中的文件,您应该使用class.getResource("path")class.getResourceAsStream("path")。在这里,路径可以是相对路径(相对于 的包class)或绝对路径(绝对是类路径)。

因此,如果您有一个包foo并且在此包中包含一个 java 文件Bar.java和一个图像blub.gif,您可以通过使用Bar.class.getResource("blub.gif")Bar.class.getResource("/foo/blub.gif")- 注意前导来获取图像/

除了 using 之外new File(...),这也将起作用,然后将类和资源打包在 Jar 中。

于 2012-11-01T09:10:32.907 回答