021.11 IO流 序列流

 

序列流:SequenceInputStream
特点:流对象有序排列
解决问题:将多个输入流合并成一个输入流,将多个源合并成一个源,对于多个源的操作会变简单。

构造函数参数就是输入流,一初始化就合并了多个流。

public static void main(String[] args) throws IOException
{
    //获取枚举,Vector有,但是效率低,使用ArrayList
    ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
    for(int x = 1; x<=3 ; x++){
        al.add(new FileInputStream("myfile\\"+x+".txt"));
    }
    //通过ArrayList获取枚举,可以使用Collections工具类的方法
    Enumeration<FileInputStream> en = Collections.enumeration(al);
    
    //创建序列流对象,需要传递Enumeration
    SequenceInputStream sis = new SequenceInputStream(en);
    FileOutputStream fos = new FileOutputStream("myfile\\4.txt");
    byte[] buf = new byte[1024];
    int len = 0;
    while((len = sis.read(buf))!=-1){
        fos.write(buf,0,len);
    }
    fos.close();
    sis.close();
}

 

posted @ 2018-05-22 12:38  Alos403  阅读(144)  评论(0编辑  收藏  举报