为什么我一直收到FileNotFoundException?

时间:2017-04-11 03:10:59

标签: java eclipse filenotfoundexception

我不明白为什么我一直收到FileNotFoundException? 我正在通过Eclipse使用java并尝试读取整数的file.txt,我想将它们一起添加来测试它们但是仍然得到异常。

我已将文件导入eclipse。 这是我的代码和我得到的异常消息。

    public class FileRead {
    //fields
    private Scanner s;
    private int[] arr;
    /**
     * @throws FileNotFoundException 
     * 
     */
    public FileRead() throws FileNotFoundException{
        s = new Scanner(new File("lab1_data.txt"));
        arr = new int[10000000];
        for(int i = 0;i < arr.length;i++){
            arr[i] = s.nextInt();
        }

    }

    public int addArr(){
        int a = 0;
        for(int x: arr){
            a = a + x;
        }
        return a;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        FileRead r = null;
        try {
            r = new FileRead();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        r.addArr();
    }

}

java.io.FileNotFoundException: lab1_data.txt (The system cannot find the 
file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at FileRead.<init>(FileRead.java:22)
at FileRead.main(FileRead.java:44)
Exception in thread "main" java.lang.NullPointerException
at FileRead.main(FileRead.java:48)

4 个答案:

答案 0 :(得分:0)

(new File("lab1_data.txt"));

传递Exact目录路径 /文件夹名称/ lab1_data.txt

答案 1 :(得分:0)

lab1_data.txt应该在classpath中找到。更好地阅读文件是 getResourceAsStream 。一个简单的谷歌搜索应该有所帮助。

答案 2 :(得分:0)

检查文件的存在位置,并在new File("...")添加文件的完整路径。

请注意,当前项目路径并不总是与.java文件相同的路径。

答案 3 :(得分:0)

本守则有效

        String path="";
        File f=new File("lab1_data.txt");
        path=f.getAbsolutePath();