java.io.FileNotFoundException - 目录中存在文件DOES

时间:2015-01-09 19:44:22

标签: java file filenotfoundexception fileinputstream

我在尝试读取文件时一直收到同样的错误。文件存在于目录中,我做错了什么?

package test;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class MenuSample{

    public static void main(String[] args) {

        File f = new File("C:/Users/Joe/Documents/workspace/ArtificialLifeFX/res/latest.txt");

        Scanner scanner = null;
        try {
            scanner = new Scanner(f);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        scanner.useDelimiter("\r\n");
    }
}

我收到以下错误:

java.io.FileNotFoundException: C:\Users\Joe\Documents\workspace\ArtificialLifeFX\res\latest.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.util.Scanner.<init>(Unknown Source)
    at test.MenuSample.main(MenuSample.java:16)
Exception in thread "main" java.lang.NullPointerException
    at test.MenuSample.main(MenuSample.java:21)

原谅我,如果我天真,我是java的新手。我在Windows 7上运行Eclipse Luna。

2 个答案:

答案 0 :(得分:2)

当JVM告诉你这些事情时,请相信它。没有任何意义坚持要你纠正;你不能赢得这个论点。你需要弄清楚你做错了什么。

我的建议?试试这个:

    File f = new File("C:\\Users\\Joe\\Documents\\workspace\\ArtificialLifeFX\\res\\latest.txt");

在我的Windows 7机器上它将是:

    File f = new File("C:\\Users\\Joe\\My Documents\\workspace\\ArtificialLifeFX\\res\\latest.txt");

检查您的路径,确保它绝对正确。

答案 1 :(得分:0)

文件可能存在,但eclipse没有看到它。尝试刷新项目资源管理器中的项目,并确保该文件显示在项目资源管理器下。由于您引用的文件位于工作区文件夹下,因此它应显示在项目资源管理器中。