1

所以我为我的 Eclipse 视图插件制作了几张图片。完美运行。第二天我醒来,程序现在告诉我它再也找不到这些文件了。这些文件肯定仍然在我离开它们的同一个地方,而且我在 24 小时内没有碰过代码。我已经搞砸了一个小时,我什至不知道从哪里开始调试这个,因为我的程序昨天很好。

Sample.gif 位于我插件的“图标”文件夹中。我已经尝试将它移动到 src 文件夹,但这也不起作用。

错误信息:

org.eclipse.swt.SWTException: i/o error (java.io.FileNotFoundException: sample.gif (No such file or directory))

代码(当我删除这一行和所有使用 testImage 的代码行时,插件会再次运行):

Image testImage = new Image(null, "sample.gif");

任何人都知道可能导致这种情况的原因,或者我可以为某人提供哪些信息来指导我如何调试?

4

1 回答 1

1

问题很可能与当前目录的位置有关。当您使用“sample.gif”之类的路径名时,打开文件时的正常行为是查看当前目录。如果您使用不同的当前目录运行应用程序,应用程序将在不同的位置查找文件。


然而,我对当前的目录概念感到困惑

以下是一些描述该概念的页面:

图片应该去哪里?

如果您只打算在 Eclipse 中运行您的应用程序,那么您可以将它们放在任何地方……并确保您的应用程序的 Eclipse 启动器配置将当前目录设置为一致的位置。(您当前的问题很可能是由于应用程序启动器使用了父 Eclipse 的当前目录,这可能取决于您在启动 Eclipse 时所处的位置......请参阅上面的链接页面。)

如果您打算以某种形式导出构建的应用程序以便用户可以在 Eclipse 之外使用它,那么答案取决于应用程序的性质以及它将如何安装在用户的计算机上。(可能的解决方案是将图像放入应用程序的 JAR 文件中,并使用 ClassLoader.getResource 方法通过类路径定位它们。)

于 2012-08-05T07:38:05.340 回答