zoukankan      html  css  js  c++  java
  • 序列流

    a) 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推.

    b) 使用方式

    ** 整合两个:

    FileInputStream fis1 = new FileInputStream("a.txt"); 
    
    //创建输入流对象,关联a.txt
    
    FileInputStream fis2 = new FileInputStream("b.txt"); 
    
    //创建输入流对象,关联b.txt
    
    SequenceInputStream sis = new SequenceInputStream(fis1, fis2); 
    
    //将两个流整合成一个流
    
    FileOutputStream fos = new FileOutputStream("c.txt"); 
    
    //创建输出流对象,关联c.txt
    
    int b;
    
    while((b = sis.read()) != -1) { //用整合后的读
    
    fos.write(b); //写到指定文件上
    
    }
    
    sis.close();
    
    fos.close();
    

    整合多个:

    FileInputStream fis1 = new FileInputStream("a.txt"); //创建输入流对象,关联a.txt
    
    FileInputStream fis2 = new FileInputStream("b.txt"); //创建输入流对象,关联b.txt
    
    FileInputStream fis3 = new FileInputStream("c.txt"); //创建输入流对象,关联c.txt
    
    Vector<InputStream> v = new Vector<>(); //创建vector集合对象
    
    v.add(fis1); //将流对象添加
    
    v.add(fis2);
    
    v.add(fis3);
    
    Enumeration<InputStream> en = v.elements(); //获取枚举引用
    
    SequenceInputStream sis = new SequenceInputStream(en); //传递给SequenceInputStream构造
    
    FileOutputStream fos = new FileOutputStream("d.txt");
    
    int b;
    
    while((b = sis.read()) != -1) {
    
        fos.write(b);
    
    }
    
    sis.close();
    
    fos.close();
    
  • 相关阅读:
    苦逼也聊模式--(0)--开篇
    发现无力吐槽
    JS函数调用
    初步使用nodejs(一)
    测试一下
    达摩流浪者
    Revit:二开使用Sqlite保存本地数据,并配合EF6等ORM框架
    Revity:查找并修改类型参数和实例参数
    复习一下UML
    Revit:ElementFilter过滤器基类
  • 原文地址:https://www.cnblogs.com/loaderman/p/6407700.html
Copyright © 2011-2022 走看看