Java:扫描程序在从文件读取时不接受try-catch类错误

时间:2015-05-22 00:42:05

标签: java file exception try-catch java.util.scanner

在Java 8文档中,编写的是Scanner中接收文件源作为参数的构造函数抛出FileNotFoundException。 但请看下面的代码:

  try{
            sc = new Scanner("Rede.txt");      //This archive already exists
        }
        catch(FileNotFoundException f){
            f.printStackTrace;
        }
        finally{
            sc.close();
        }

当我运行它时,我得到类似的东西:

error:exception FileNotFoundException is never thrown in body of corresponding try statement
              catch(FileNotFoundException f){

IOException也是如此。奇怪的是,如果我扔掉try-catch部分,代码就会编译。

这里有什么问题?

1 个答案:

答案 0 :(得分:4)

扫描仪也可以扫描字符串。要明白我的意思,请尝试:

System.out.println( new Scanner("Rede.txt").next() );

它会打印Rede.txt

其他一些类(例如FileInputStream)将采用String路径,但Scanner不采用。如果要使用文件,则需要实际传递一个文件:

sc = new Scanner(new File("Rede.txt"));