尝试从Scanner获取信息时出现NoSuchElementException

时间:2015-10-24 20:23:17

标签: java file jfilechooser nosuchelementexception

我是新手,我只是尝试使用JFileChooser打开文件,然后使用扫描程序对其进行分析。我需要打开的File是一个.txt文件,其中填充了使用标签('\t')分隔的信息。我不知道为什么我有NoSuchElementException因为println确实显示了文件名。我在这里放了一个样本来解决问题。感谢您的支持和帮助!欢迎任何解释。

    JFileChooser choice = new JFileChooser();

    int returnValue = choice.showOpenDialog(null);

    if(returnValue == JFileChooser.APPROVE_OPTION){

        File file = choice.getSelectedFile();
        System.out.println("You chose : " + file.getName());

        try{

            Scanner readedFile = new Scanner(file).useDelimiter("\\t");
            //I tried \t and \\t
            System.out.print(readedFile.next()); //Crash Here, crash with .nextLine too

        }catch(FileNotFoundException e){
            e.printStackTrace();
        }          
    }

感谢!!!!!

编辑: 感谢MIW的快速回答。好像老师给了我们一个糟糕的档案。我自己创建一个文件,它的工作原理。

1 个答案:

答案 0 :(得分:0)

你确定你得到了#34; NoSuchFileException"?来自nio包的内容与此处并不相关。

当我运行你的代码时,它会打印一个" NoSuchElementException" (当使用没有任何\ t的文件时)或打印第一个令牌并退出。

我认为您应该检查您选择的文件,看看它是否确实包含您想要的内容。

我认为你的代码应该使用\ t(不是\ t)