eclipse我应该把Java程序的资源放在哪里?
我正在使用Eclipse用Java编程
我最近尝试在我的程序中播放声音文件。我这样做:
URL url = this.getClass().getResource("ih.wav");
audioIn = AudioSystem.getAudioInputStream(url);
clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
这只在我试着放ih的时候起作用。wav在bin文件夹中,就好像bin文件夹是我的项目的“基本文件夹”。将文件放在项目的主文件夹中无效。把它放在src文件夹中,也不起作用
有人能告诉我把Java程序的资源放在哪里吗?另外,如果我将资源导入Eclipse,这有关系吗?谢谢
编辑:
试图在主项目文件夹中创建resources文件夹,但仍出现NullPointerException:
URL url1 = this.getClass().getResource("res/ah.wav");
audioIn = AudioSystem.getAudioInputStream(url1);
clip1 = AudioSystem.getClip();
clip1.open(audioIn);
URL url2 = this.getClass().getResource("res/eh.wav");
audioIn = AudioSystem.getAudioInputStream(url2);
clip2 = AudioSystem.getClip();
clip2.open(audioIn);
URL url3 = this.getClass().getResource("res/ih.wav");
audioIn = AudioSystem.getAudioInputStream(url3);
clip3 = AudioSystem.getClip();
clip3.open(audioIn);
clip1.start();
clip2.start();
clip3.start();
# 1 楼答案
最佳做法是创建一个名为
res
或resources
的文件夹(取决于您的包结构),您将在其中保存与项目相关的资源,如任何图像或声音文件根据您的偏好,可以将此文件夹放入主项目文件夹
MyProject/res
,也可以将其放入相关包中,例如main.java.res
编辑
为了更好地回答您的问题,我对
getResources()
方法不太熟悉,因此我个人建议使用以下类似的代码:如果您相应地更改了文件的路径(例如
"main/resources/ih.wav"
或存储文件的任何位置),则应该生成您要查找的结果# 2 楼答案
注意事项:我不使用Eclipse,我从未使用过Eclipse,我对Eclipse的了解相当于阅读其他帖子并在这里回答问题
在项目下,创建一个名为
resources
的目录。在这里放置所有您希望从应用程序中访问的“资源”。这些将作为嵌入式资源与应用程序捆绑在一起从应用程序内部使用
或者
假设您将文件放置在
resources
路径的顶层。如果它们位于子目录中,则需要提供完整路径清洁、建造和测试
# 3 楼答案
我会在
src
内创建一个resources
文件夹,类似src/main/resources
。你想看看Maven这是一个项目管理和理解工具,对项目组织有很大帮助