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

Can't read my .avi file using java

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)

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

emmm。。。问题比较不清楚

无论如何,作为一个猜测,也许文件路径语法真的是"not correct"或者文件不存在;所以请尝试

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对大小写敏感所以检查大小写是否正确;一个字符可能导致异常


如果您有更多详细信息,请发表评论

祝你好运:)