无法使用java读取我的.avi文件

时间:2015-03-14 03:26:13

标签: java netbeans

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)

我复制了该文件的确切位置,但仍然是这个异常发生者

1 个答案:

答案 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对案件很敏感,所以检查上下字符的情况都是正确的;只有一个字符可能会导致异常


如果您有更多详情,请发表评论

祝你好运:)