Java 为什么总是显示找不到文件
我已经用netbeans编写了这段代码。我的音频文件名为audiofile.wav。但它始终显示异常“未找到文件”。有人能帮我吗?Windows Vista及以上版本的Java 为什么总是显示找不到文件,java,Java,我已经用netbeans编写了这段代码。我的音频文件名为audiofile.wav。但它始终显示异常“未找到文件”。有人能帮我吗?Windows Vista及以上版本的C驱动器中的根文件夹受UAC保护。这要求您以管理模式运行java可执行文件 但是,您可以将wav文件移到其他位置,UAC不会干扰(如当前登录用户的文档文件夹)或其他驱动器的根目录(如D:\和E:) 另外,请确保audiofile.wav确实位于所述位置(C:\audiofile.wav)我认为首先,您应该粘贴您的异常代码 然后,我
C
驱动器中的根文件夹受UAC保护。这要求您以管理模式运行java可执行文件
但是,您可以将wav文件移到其他位置,UAC不会干扰(如当前登录用户的文档文件夹)或其他驱动器的根目录(如D:\和E:)
另外,请确保audiofile.wav
确实位于所述位置(C:\audiofile.wav
)我认为首先,您应该粘贴您的异常代码
然后,我认为java I/O支持两种方式:
“C:/audiofile.wav”
“C:\audiofile.wav”
导入java.io.BufferedReader;
导入java.io.FileInputStream;
导入java.io.InputStreamReader
公共班机{
public static void main(String[] args) throws IOException {
String filename = "C:\\audiofile.wav";
InputStream in = null;
try{
in = new FileInputStream(filename);
}
catch(FileNotFoundException ex){
System.out.println("File not found");
}
AudioStream s = null;
s = new AudioStream(in);
AudioPlayer.player.start(s);
}
}
它起作用了。我不知道你做了什么,无论如何粘贴你的错误消息
====
它起作用了 试着将文件放在不同的位置,看看会发生什么
```
private static void B() {
String filename = "C:\\test.wav";
InputStream in = null;
try {
in = new FileInputStream(filename);
} catch (FileNotFoundException ex) {
System.out.println("File not found");
}
try {
AudioStream s = new AudioStream(in);
AudioPlayer.player.start(s);
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
```
然后运行这个字符串
ProjectRootDir
audiofile.wav
src
文件是否存在于C:
驱动器中?!我想文件不在那里,你能试试C:/audiofile.wav
吗?是的,在sun.audio.AudioStream(AudioStream.java:65)的线程“main”java.lang.NullPointerException中找不到文件异常在media_player.media_player.main(media_player.java:31)中Java结果:1这是错误消息。你确定你的消息来自这里吗:``catch(FileNotFoundException ex){System.out.println(“未找到文件”);```}我想你只是在这个位置放了一个无效的wav文件,我下载了一个wav文件,然后运行了你的代码,没错!最后,我认为您犯了一个错误,您成功地读取了文件,但您将其作为音频读取,它被压碎了!请给你的代码一个真正的wav文件,然后执行该代码,你会得到结果!干得好!我认为当你遇到问题时,你应该首先仔细阅读错误输出,事实上它会告诉你真正的原因^_^
ProjectRootDir
audiofile.wav
src
String filename = "audiofile.wav";