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();
}
}
你把FileOutputStream out = new FileOutputStream(file, true);这里的true改为false或者不写,
当有true修饰时代表当该文件已经存在时在文件后继续写
而当为false或缺省时,若该文件名已经存在则会覆盖原文件
楼主要不要尝试一下,先用一行数据把原数据覆盖掉,然后再把其它几行数据追加到这一行上。这不就实现了多行覆盖吗?这样的话就需要两个writer,一个的参数设置成false,用来覆盖数据(只写一行),另一个参数设置成true,用来追加后面几行的数据。我不确定,没尝试过。如果说希望覆盖中间几行的话,那应该是绝对没有办法的。
new FileOutputStream 别写第二参数 就直接覆盖了
你还是看看api把。。。。 很多基本的东西你都不知道。。