为什么总是显示文件未找到

时间:2013-11-12 08:58:45

标签: java

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);
}

我已经在netbeans中编写了这段代码。我的音频文件的名称是audiofile.wav。但它始终显示异常“文件未找到”。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

Windows Vista及更高版本的C驱动器中的

根文件夹受UAC保护。这要求您以管理模式运行java可执行文件。

但是,您可以将wav文件转移到其他地方,UAC不会干扰(如当前登录用户的Documents文件夹)或其他驱动器的根目录(例如D:\和E :)

另外,请确保audiofile.wav确实位于所述位置(C:\audiofile.wav

答案 1 :(得分:0)

我想首先,你应该粘贴你的异常代码!
那么,我认为java I / O支持这两种方式:

  

“C:/audiofile.wav”
  “C:\ audiofile.wav”

import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader;

public class Main {

public static void main(String[] args) {
    // write your code here
    String fileLocation = "C:\\1.diff";
    String fileLocation1 = "C:/1.diff";
    try {
        FileInputStream f = new FileInputStream(fileLocation);

        BufferedReader reader = new BufferedReader(new InputStreamReader(f));

        String line = reader.readLine();
        System.out.println("11111111111111111111111111");

        while (line != null) {
            // Process line
            line = reader.readLine();
            System.out.println(line);

        }
        System.out.println("11111111111111111111111111");


    } catch (Exception ex) {

        System.out.println(ex);
    }
    try {
        FileInputStream ff = new FileInputStream(fileLocation1);
        BufferedReader reader1 = new BufferedReader(new InputStreamReader(ff));
        String line1 = reader1.readLine();
        System.out.println("2222222222222222222222222");

        while (line1 != null) {
            // Process line
            line1 = reader1.readLine();
            System.out.println(line1);

        }
        System.out.println("2222222222222222222222222");

    } catch (Exception ex) {

        System.out.println(ex);
    }

}

}

它有效。我不知道你做了什么,无论如何粘贴你的错误消息!

====

```
    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());
        }

    }

```

它有效!

答案 2 :(得分:0)

尝试将文件放在不同的位置,看看会发生什么

ProjectRootDir
          audiofile.wav
          src 

运行此字符串

String filename = "audiofile.wav";