下面这个程序,如何让它不覆盖以前的,而是追加到以前的后面呢?,然后在输出
import java.io.*;
//创建一个文件类对象f
//创建一个文件输出流对象fos
//使用循环语句往f中写入数据
public class File5 {
public static void main(String[] args)throws Exception {
File f = new File("E:\\filetest\\file.txt");
FileOutputStream fos = new FileOutputStream(f);
for(int i='a';i<'z';i++){
fos.write(i);
}
fos.close();
}
}
java 输出流
答案:3 悬赏:80 手机版
解决时间 2021-02-02 23:44
- 提问者网友:辞取
- 2021-02-02 14:42
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-02-02 16:07
在创建FileOutputStream的时候,加一个boolean参数,如下
FileOutputStream fos = new FileOutputStream(f,true);
加上true表示,在文件尾追加内容
没有这个参数默认就是覆盖原来的内容,从文件的开始进行写入
FileOutputStream fos = new FileOutputStream(f,true);
加上true表示,在文件尾追加内容
没有这个参数默认就是覆盖原来的内容,从文件的开始进行写入
全部回答
- 1楼网友:老鼠爱大米
- 2021-02-02 17:48
用循环才能写多行啊! 你这么创建printwriter,运行一次写一次,当然是覆盖的。 如果不循环,还想在文件后追加,用下面的代码创建printwriter对象。其中,fileoutputstream的构造法的第2个参数是标示是否append。 printwriter writer = new printwriter(new fileoutputstream("c:\\abc.txt", true));
- 2楼网友:纵马山川剑自提
- 2021-02-02 16:21
用FileOutputStream的另一个构造方法 FileOutputStream(File file, boolean append) append 为true表示将字节写入文件末尾处,为false表示写入文件开始处。 也就是有append这个构造方法是追加到原文用的。用FileOutputStream(File file)这个构造方法是会覆盖原文的。
public class File5 {
public static void main(String[] args)throws Exception {
File f = new File("E:\\filetest\\file.txt",true);
FileOutputStream fos = new FileOutputStream(f);
for(int i='a';i<'z';i++){
fos.write(i);
}
fos.close();
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯