我是java的初学者,当我关注Absolute Java的显示2.12时。控制台显示主线上有线程。我把文本文件放在我程序的根目录中。我还仔细检查了代码。我不知道如何解决它。我使用eclipse在macOS中编码,java是最新版本。谢谢你的帮助 代码显示如下:
import java.util.Scanner;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class TextFileDemo
{
public static void main(String[] args)
{
Scanner fileIn = null;
try
{
fileIn = new Scanner(new FileInputStream("player.rtf"));
}
catch (FileNotFoundException e)
{
System.out.println("file not found.");
System.exit(0);
}
int highscore;
String name;
System.out.println("Text left to read? " + fileIn.hasNextLine());
highscore = fileIn.nextInt();
fileIn.nextLine();
name = fileIn.nextLine();
System.out.println("Name: " + name);
System.out.println("High score: " + highscore);
System.out.println("Text left to read? " + fileIn.hasNextLine());
fileIn.close();
}
这是我的控制台显示:
答案 0 :(得分:0)
错误表明,从数据文件中读取时,您尝试使用nextInt()
读取的第一件事实际上并不是整数。
检查文件中的内容。具体而言,在将文件视为未格式化数据的编辑器中,如notepad
。
您的文件名表明您正在阅读的文件是.rtf
文件,或"富文本格式"。扫描仪无法读取。
将文件另存为纯文本文件。
答案 1 :(得分:0)
我不确定我是否正确但是这个错误是因为你可能试图将int与字符串匹配。可能由于文件的内容,您可能也想将其上传到问题中。如果您打算打印到控制台,我建议您将所有这些转换为字符串。
这也可能有所帮助 Input Mismatch Exception