Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FileWriter拒绝覆盖_Java_Filewriter - Fatal编程技术网

Java FileWriter拒绝覆盖

Java FileWriter拒绝覆盖,java,filewriter,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\\test

我很困惑

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
的布尔值应导致覆盖,而不是追加:

我以前遇到过这个问题,我使用了
RandomAccessFile
来绕过这个问题,但现在它让我很恼火

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

打电话时
FileWriter=newfilewriter(“c:\\testing\\testfile.txt”,false)它将覆盖该文件。它不会根据
覆盖。写入
。该选项仅适用于承包商。

啊,我明白了。在这种情况下,要么我误解了,要么有点误导。那么,每次覆盖文件的最佳机制是什么呢?可能是
。每次要覆盖时,请关闭
并使用
新FileWriter
重新打开文件。这就完成了任务。似乎我误解了文件编写者的意思。我会在每次写之前重新创建它。谢谢你把它清理干净!为什么不使用[
write(String,int,int);
](,int,int))手动设置偏移量呢?我知道这是一个选项。因此,我必须在使用字符串之前存储它,然后将它的长度传递给write?手动偏移量方法仍然会导致追加。