使用InputStream和OutputStream将多个文件写入到同一个文件中

废话不多说,直接上代码.

public static void main(String[] args) throws Exception{
        File oneTxT = new File("D:\\SensitiveWord.txt");
        File twoTxT = new File("D:\\SensitiveWord.txt");
        File ThreeTxT = new File("D:\\sql.txt");
        File resultTxT = new File("D:\\result.txt");
        InputStream i1 = new FileInputStream(oneTxT);
        InputStream i2 = new FileInputStream(twoTxT);
        InputStream i3 = new FileInputStream(ThreeTxT);
        List<InputStream> list = new ArrayList<InputStream>();
        list.add(i1);
        list.add(i2);
        list.add(i3);
        //拼接数据流
        InputStream result = makeInputStream2(list);
        OutputStream ops = new FileOutputStream(resultTxT);
        byte[] b = new byte[3200];
        int len;
        while ((len = result.read(b)) > 0) {
            ops.write(b,0,len);
        }
        ops.flush();
        ops.close();
    }
    //将读取到的每一个文件流拼接成一个大的流.
public static InputStream makeInputStream2(List<InputStream> list) throws IOException {
        Vector<InputStream> v = new Vector<InputStream>();
        for (InputStream inputStream : list) {
            v.add(inputStream);
        }
        Enumeration<InputStream> en = v.elements();
        SequenceInputStream sis = new SequenceInputStream(en);
        return sis;
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值