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

NoSuchElementException while trying to get information from Scanner

我是新手,我只是尝试使用 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 的快速回答。好像老师给了我们一个坏档案。我自己创建了一个文件并且它有效。

你确定你得到了"NoSuchFileException"吗?这是来自 nio 包,在这里并不真正相关。

当我 运行 您的代码时,它要么打印 "NoSuchElementException"(当使用的文件中没有任何 \t 时),要么打印第一个标记并退出。

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

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