java - 无法让 PrintWriter 工作

标签 java io printwriter

我正在为游戏创建一个保存游戏文件,但我的 PrintWriter 只是用任何内容覆盖该文件,而不是我需要的数字。

代码如下:

public void fileWriter() throws FileNotFoundException {
    PrintWriter print = new PrintWriter(new File("C:\\Users\\john\\Desktop\\stats.txt"));
    print.print(String.valueOf(this.swordNumber) + " ");
    print.print(String.valueOf(this.shieldNumber) + " ");
    print.print(String.valueOf(this.monstersDefeated) + " ");
    print.print(String.valueOf(this.damageDealt));
}

我已经尝试了一切方法来打印这些变量,包括 String.valueOf 但它不起作用。

最佳答案

您应该正确使用Java的资源try-catch block 。即使抛出任何异常,这也会自动关闭流:

public void fileWriter() throws FileNotFoundException {
    File file = new File("C:\\Users\\john\\Desktop\\stats.txt");
    try (PrintWriter print = new PrintWriter(file)) {
        print.print(Integer.toString(swordNumber) + " ");
        print.print(Integer.toString(shieldNumber) + " ");
        print.print(Integer.toString(monstersDefeated) + " ");
        print.print(Integer.toString(damageDealt));
    }
}

此外,我建议使用 Integer.toString() 而不是 String.valueOf() ,以使类型转换更加明显。

关于java - 无法让 PrintWriter 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32288993/

相关文章:

java - 收集日志 ZIP 并上传到 Http 服务,无需临时文件

java - 如果需要处理的数据太多,如何让 ThreadPoolExecutor 命令等待?

haskell - 提高基于线路的导管性能的方法

performance - ext4 commit= 安装选项和 dirty_writeback_centisecs

java - 写入外部文件而不结束程序

Java PrintWriter 异常

java - Swing JTextPane编译错误

java - S 扩展 S 的 ArrayList 是语言中有用的构造还是只是语法副作用

c# - 从流中获取 TextReader?

Java PrintWriter 错误