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



我一直在下面得到错误

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

我的代码的相关摘录如下。我觉得我好像什么都试过了,但我可能错过了一些简单的东西。起初,我的文本文件在Netbeans的默认包部分,但下面打印工作目录的代码显示了Documents中的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++;
        }
}

这与文件的位置无关。相反,请查看此链接: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

相关内容

  • 没有找到相关文章

最新更新