Java try和catch方法

时间:2016-04-12 01:26:32

标签: java eclipse macos

我是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();
    }

这是我的控制台显示:

And this is my console display

2 个答案:

答案 0 :(得分:0)

错误表明,从数据文件中读取时,您尝试使用nextInt()读取的第一件事实际上并不是整数。

检查文件中的内容。具体而言,在将文件视为未格式化数据的编辑器中,如notepad

您的文件名表明您正在阅读的文件是.rtf文件,或"富文本格式"。扫描仪无法读取。

将文件另存为纯文本文件。

答案 1 :(得分:0)

我不确定我是否正确但是这个错误是因为你可能试图将int与字符串匹配。可能由于文件的内容,您可能也想将其上传到问题中。如果您打算打印到控制台,我建议您将所有这些转换为字符串。

这也可能有所帮助 Input Mismatch Exception