Java FileWriter拒绝覆盖

Ton*_*ony 2 java filewriter

我很困惑......

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();

    }

}
Run Code Online (Sandbox Code Playgroud)

完成后,文件的内容是:

First testSecond test
Run Code Online (Sandbox Code Playgroud)

根据这里的Java文档,传递给FileWriter值的布尔值False应该导致覆盖而不是附加:Java 6 Filewriter API

我以前遇到过这个问题,而且我用了一个RandomAccessFile来绕过这个问题,但现在它只是让我讨厌!

任何想法或建议将不胜感激,谢谢!

Alb*_*Bos 5

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

  • 可能是`.close`并且每次要覆盖时都用`new FileWriter`重新打开文件. (4认同)