今天,写一个添加背景音乐的方法时,在导入当前文件夹下的音乐时中始终出现,以下的异常,Exception in thread "main" java.lang.NullPointerException
文件存储位置
存放在当前的modlue目录下,格式为wav.
源代码private void playBGM(){
try {
//创建了一个播放器;
Clip bgm= AudioSystem.getClip();
System.out.println(this.getClass().getClassLoader());
InputStream is=this.getClass().getClassLoader().getResourceAsStream("bgm.wav");
//ClassLoader()类加载器,找到类,在找到类的加载器在加载;
AudioInputStream ais=AudioSystem.getAudioInputStream(is);
bgm.open((ais));//打开音频;
bgm.start();
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
主要是在获取音频流对象时,始终获取到的是NULLInputStream is=this.getClass().getClassLoader().getResourceAsStream("bgm.wav");
这是什么问题?,是文件存储位置不正确吗,上面的获取文件方法,应该是以当前目录为根目录向下寻找吧