Java PrintWriter:随着时间的推移写入同一文件

时间:2015-10-05 03:02:21

标签: java file-io printwriter

我正在制作一个刽子手游戏,其目标是保存不同玩家的统计数据,例如他们的名字,游戏和胜利。我有这个部分工作,但每次我运行程序时,它会删除以前的数据并替换它。

public static void writeStats(File file,String name, int won, int games) {
    try {
        PrintWriter pw = new PrintWriter(file);
        pw.println("Player\tWon\tTotal");
        pw.println("-----------------------------");
        pw.println(name+"\t"+won+"\t"+games);
        pw.close();
    } //end try
    catch (IOException e) {
        System.out.println("Failed to write file!");
    } //end catch
} //end method

1 个答案:

答案 0 :(得分:1)

您可以传递PrintWriter一个Writer,并使用FileWriter,它有一个附加标记,可以将值附加到文件

首先看一下FileWriter

try (PrintWriter ps = new PrintWriter(new FileWriter(file, true))) {
    //...
} catch (IOException exp) {
    System.out.println("Failed to write file!");
    exp.printStackTrace();
}