Java FileWriter 拒绝覆盖

Java FileWriter refusing to overwrite

我很困惑...

public class Testing {

    public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException {

        System.out.println("Testing overwrite");

        FileWriter writer = new FileWriter("c:\testing\testfile.txt", false);

        writer.write("First test");
        writer.flush();

        TimeUnit.SECONDS.sleep(5);

        writer.write("Second test");
        writer.flush();

        writer.close();

    }

}

完成后文件内容为:

First testSecond test

根据此处的 Java 文档,传递给 FileWriter 且值为 False 的布尔值应该导致覆盖,而不是追加:Java 6 Filewriter API

我以前遇到过这个问题,我用RandomAccessFile绕过了这个问题,但现在我很烦!

如有任何想法或建议,我们将不胜感激,谢谢!

调用时 FileWriter writer = new FileWriter("c:\testing\testfile.txt", false); 它将覆盖文件。它不会覆盖每个 .write。该选项仅适用于构造函数。