您的位置:首页 > 其它

如何利用输入输出流往文件中不断添加内容

2016-09-26 21:27 288 查看
这里简单的实现了对文件添加内容时不改变原来的内容的情况下,在原内容基础上进行添加内容:

思路:先输入再输出,用变量去接收文件的原内容

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

public class Test04 {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();                      //输入内容
try {
File file =new File("d:/test.txt");                 //创建文件
if(!file.exists()){
file.createNewFile();
}
FileInputStream in=new FileInputStream("d:/test.txt");         //输入流
byte[] b=new byte[1024];                                       //byte数组——容器
int i;                                                         //长度
StringBuilder wenzi=new StringBuilder();                                               //字符串变量接收文件内容
while((i=in.read(b))>0){                    //循环读取
wenzi.append(new String(b,0,i));                //获得文件中的内容
}
in.close();
wenzi.append("\r\n"+str);                     //创建新的内容=之前的内容+新输入的内容
FileOutputStream out =new FileOutputStream("d:/test.txt");              //输出流
byte[] newb=wenzi.toString().getBytes();
out.write(newb);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}


java提供了追加往文件中写入内容的方法:

public class Zhuijiaxieru {

public static void main(String[] args) {
// TODO 自动生成的方法存根
String filename="d:/test.txt";
try {
FileOutputStream out =new FileOutputStream(filename,true);
String str ="\r\n用新的构造方法追加内容";
out.write(str.getBytes());
out.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐