try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("D:\\myJAVA\\javasbc\\SchoolBell.avi"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) {
e.printStackTrace();
}
我得到了这个例外.......
java.io.FileNotFoundException: D:\myJAVA\javasbc\SchoolBell.avi (The filename, directory name, or volume label syntax is incorrect)
我复制了该文件的确切位置,但仍然是这个异常发生者
答案 0 :(得分:1)
无论如何,作为猜测,文件路径语法可能确实“不正确”或文件不存在;所以请尝试
A)不使用“\\”目录,而是使用File.separator
来避免系统相关的路径样式
B)或者您可能会尝试编写一个分析路径文件夹确实存在的代码?像这样:
void myMethod(){
final String VOLUME="D:";
final String DIRECTORY_A_PATH=VOLUME+File.separator+"myJAVA";
final String DIRECTORY_B_PATH=DIRECTORY_A_PATH+File.seperator+"javasbc";
final String FILE_PATH=DIRECTORY_B_PATH+File.seperator+"SchoolBell.avi";
File f0=new File(DIRECTORY_A_PATH);
if(!f0.exists()){System.out.println(DIRECTORY_A_PATH+" does not exist");
return;
}
File f1=new File(DIRECTORY_B_PATH);
if(!f1.exists()){System.out.println(DIRECTORY_A_PATH+" does not exist");
return;
}
File f2=new File(FILE_PATH);
if(!f2.exists()){System.out.println(FILE_PATH+" does not exist");
return;
}
}
所以你可以在阅读前分析路径......无论如何,Java对案件很敏感,所以检查上下字符的情况都是正确的;只有一个字符可能会导致异常
如果您有更多详情,请发表评论
祝你好运:)