今天,寫一個添加背景音樂的方法時,在導入當前文件夾下的音樂時中始終出現,以下的異常,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");
這是什么問題?,是文件存儲位置不正確嗎,上面的獲取文件方法,應該是以當前目錄為根目錄向下尋找吧