如何用java写入txt,每次运行都覆盖前一次的内容(多行数据)

2024-11-11 23:07:53
推荐回答(5个)
回答1:

Java使用FileWriter实现文件的写入,用法为:FileWriter(file,true); 其中第二个参数设置成false就是覆盖写入,true就是增量存储。举例代码:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class File01Demo {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\a.txt");
        FileWriter fw = new FileWriter(file,true); //设置成true就是追加
        fw.write("asd");
        fw.write("\r\n");
        fw.write("ffd");
        fw.close();
    }
}

回答2:

你把FileOutputStream out = new FileOutputStream(file, true);这里的true改为false或者不写,

当有true修饰时代表当该文件已经存在时在文件后继续写
而当为false或缺省时,若该文件名已经存在则会覆盖原文件

回答3:

楼主要不要尝试一下,先用一行数据把原数据覆盖掉,然后再把其它几行数据追加到这一行上。这不就实现了多行覆盖吗?这样的话就需要两个writer,一个的参数设置成false,用来覆盖数据(只写一行),另一个参数设置成true,用来追加后面几行的数据。我不确定,没尝试过。如果说希望覆盖中间几行的话,那应该是绝对没有办法的。

回答4:

new FileOutputStream 别写第二参数 就直接覆盖了

回答5:

你还是看看api把。。。。 很多基本的东西你都不知道。。