扫描程序文件未找到异常,但文件确实存在

时间:2014-04-24 16:32:34

标签: java netbeans

我一直收到错误

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown

我的代码的相关摘录如下。我觉得好像我已经尝试了一切,但我可​​能会错过一些简单的事情。起初我将我的文本文件放在Netbeans的默认包部分中,但下面打印工作目录的代码显示了Document中的Netbeans项目文件夹,所以我将telnos.txt复制到那里,仍然说找不到文件。

我甚至试过包含完整的文件路径,同样的问题。

 private final String sourceName = "telnos.txt"; 

    public void loadData (String sourceName){
        String workingDir = System.getProperty("user.dir");
        System.out.println("Current working directory : " + workingDir);
        Scanner read = new Scanner(new File(sourceName));//.useDelimiter("\\Z");
        int i = 1;
        String name = null;
        String telno = null;
        while (read.hasNextLine()) {
            if(i%2 != 0)
                name = read.nextLine();
            else {
                telno = read.nextLine(); 
            add(name, telno);
            }
            i++;
        }

}

1 个答案:

答案 0 :(得分:0)

这与文件的位置无关。相反,请查看以下链接:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#Scanner(java.io.File)

因为new Scanner(new File(sourceName))有可能抛出FileNotFoundException,所以你需要通过在此处捕获异常或将其抛回调用方法来处理异常。因为此功能似乎不在您的调用堆栈的底部,所以我强烈建议您通过更改

将其丢回
public void loadData (String sourceName)

public void loadData (String sourceName) throws FileNotFoundException