因此,为了完成我的部分工作,我必须使用外部文件。而且我相信我已经做到了这一点,但我仍然遇到错误。
以下是我的项目设置方式:
正如您所看到的,我正在尝试加载音频2001.mid和图像nightsky.jpeg。这两个都位于项目三的资源文件中。我没有看到什么是错的,但是我对这种事情完全不熟悉。所以任何帮助都表示赞赏。
另外,请注意,STDdraw位于lib文件夹中。这也没有问题。
这是我在尝试运行时遇到的错误。
Mar 24, 2014 4:00:24 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs
at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Exception in thread "main" java.lang.IllegalArgumentException: image
resources/nightsky.jpeg not found at
StdDraw.getImage(StdDraw.java:656) at
StdDraw.picture(StdDraw.java:671) at NBody.main(NBody.java:17)
答案 0 :(得分:2)
通常,resources
的设置与src
类似,具有相同的包结构。然后,在Eclipse中将resources
和src
添加为源文件夹。
现在它们都是源文件夹,资源文件将被复制到bin
文件夹中,紧挨着将尝试读取它们的类文件。然后你应该能够像......那样引用它们。
StdAudio.play("2001.mid"); // note, no resources folder prefix
答案 1 :(得分:-1)
我认为你在一个文件夹里(你在src
)。因此,resources
的位置实际上在此处:../resources
您可以使用此代码检查您是否拥有正确的路径:
File image = new File("../resources/nightsky.jpeg");
if(image.exists() && !image.isDirectory()) {
System.out.println("Image found!");
}