尝试从 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)
我是新手,我只是尝试使用 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)