读写文件

时间:2018-04-22 20:51:59

标签: java

我必须为我的CSIS课程制作一个gui项目,而我正在使用我正在使用的读写功能。我正在制作一个游戏,你可以在其中击败其中的五个,它会显示一条消息说“你赢了”#34;每次你赢得一场战斗,我都会把它写入一个文件的胜利数量,所以如果你要关闭游戏,你可以在它再次打开时继续。这是我写的代码 - 这是我的阅读方法。

    private static int read() 
{
    int returnValue = 0;
    try(Scanner reader = new Scanner("wins.txt"))
    {
        while(reader.hasNextLine())
        {
            String read = reader.nextLine();
            returnValue = Integer.parseInt(read);
        }
    }
    catch(NullPointerException e)
    {
        System.out.println("No such File! Please Try Again! " + e.getMessage());
    }
    return returnValue;

这是我的Write方法。

    private static void write(int wins) 
{
    try(Formatter writer = new Formatter("wins.txt");)
    {
        writer.format("%d", wins);
    } 
    catch (FileNotFoundException e) 
    {
        System.out.println("File not Found!!");
    }

}

wins.txt文件中唯一的内容是Write方法写入的数字。所以我赢了一次然后文件将有" 1"如果我赢了两次,它将会有#34; 2"

每当我运行程序时,它都会抛出NumberFormatException。我不确定为什么这样做是因为我正在解析那个读者读入int的字符串。

1 个答案:

答案 0 :(得分:0)

问题是这段代码......

Scanner reader = new Scanner("wins.txt")

...构建Scanner with the literal text "wins.txt",而不是文件的内容" wins.txt"。

要阅读Scanner的文件,最简单的方法可能是construct it using a File object ...

Scanner reader = new Scanner(new File("wins.txt"))

您需要对代码进行一些其他更改才能使其从此处开始工作,但这应该涵盖主要问题。