其实很简单:注意FileOutputStream里面的参数"true",如果去掉true的话直接是覆盖,加上就是追加内容:
package com.zmj.javase.IO; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /** * * @author 周孟军 时间:2016年7月21日 下午2:50:10 * */ public class FileInputAndOutputStreamDemo { public static void main(String[] args) { //声明输入输出流 FileInputStream fis = null; FileOutputStream fos = null; try { File file1 = new File("D:\\IO\\a.txt"); fis = new FileInputStream(file1); //创建byte数组 byte[] b = new byte[1024]; fis.read(b); //要写入的文件路径 File file2 = new File("D:\\b.txt");
fos = new FileOutputStream(file2,true);//这里的true关键,如果不加的话,a.txt里面的内容就覆盖了b.txt里面的内容。加true的话就是追加 fos.write(b, 0, (int)file1.length()); } catch (Exception e) { e.printStackTrace(); }finally{ try { //关闭输入输出流 fis.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); } } } }