我一直收到错误
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++;
}
}
答案 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