用扫描器读取java中的文本文件

用扫描器读取java中的文本文件,java,file,text,java.util.scanner,Java,File,Text,Java.util.scanner,我是初学者。使用扫描仪读取Java中的文本文件。仅读取前3个令牌的代码无效: try{ Scanner scFile = new Scanner (new File ("readhere.txt")).useDelimiter("#"); String first = scFile.next(); String second = scFile.next(); int third = scFile.nextInt(); // error here. Why cant I store the int

我是初学者。使用扫描仪读取Java中的文本文件。仅读取前3个令牌的代码无效:

try{
Scanner scFile = new Scanner (new File ("readhere.txt")).useDelimiter("#");
String first = scFile.next();
String second = scFile.next();
int third = scFile.nextInt(); // error here. Why cant I store the integer?
}
catch(FileNotFoundException e){
    System.out.println("Error");
}
我试图只阅读前3个标记:

Andrew#Smith#21
John#Morris#55

读取21时出现问题。java.util.InputMismatchException

扫描程序将回车字符作为下一个可读标记的一部分,该标记将生成无效整数。你可以

Scanner scanner = new Scanner(new File("readhere.txt")).useDelimiter("#|\r\n");

扫描仪将回车字符作为下一个可读标记的一部分,该标记生成无效整数。你可以

Scanner scanner = new Scanner(new File("readhere.txt")).useDelimiter("#|\r\n");

您是否尝试检查了
扫描仪读取的值的类型?如果不是int,您能看到它可能是什么吗?我尝试将下一个标记读取为scFile.next(),并将其存储为字符串。扫描仪转到下一行并打印:21约翰您是否尝试检查
扫描仪读取的值的类型?如果不是int,您能看到它可能是什么吗?我尝试将下一个标记读取为scFile.next(),并将其存储为字符串。扫描仪转到下一行并打印:21约翰您是否尝试检查
扫描仪读取的值的类型?如果不是int,您能看到它可能是什么吗?我尝试将下一个标记读取为scFile.next(),并将其存储为字符串。扫描仪移到下一行并打印:21约翰这是可行的,但仍需要了解如何。还有其他的解决方法吗?这是有效的,但仍需要学习如何解决。还有其他的解决方法吗?这是有效的,但仍需要学习如何解决。还有其他解决办法吗?