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

    序列流:
    特点:流对象的有序的排列。内部封装了一个有序集合,把流封装起来了
    解决问题:将多个输入流合并成一个输入流。将多个源合并成一个源,对于多个源的操作会变得简单
    功能:特殊之处在构造方法上。一初始化就合并了多个流进来。

    使用的场景之一:对多个文件进行数据的合并,多个源对应一个目的。

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    import java.io.SequenceInputStream;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Enumeration;
    
    public class SequenceInputStreamDemo {
    
        public static void main(String[] args) throws IOException {
            
            /*
             * 演示序列流,SequenceInputStream
             */
            
            //如何获取一个Enumeration呢?Vector有,但是效率低,使用ArrayList
            ArrayList<FileInputStream> a = new ArrayList<FileInputStream>();
            //添加三个输入流对象和具体的流关联
            for(int x = 1;x<=3;x++){
                a.add(new FileInputStream("tempfile\"+x+".txt"));
            }
            
            //怎么通过ArrayList获取枚举接口,可以使用Collections工具类中的方法
            Enumeration<FileInputStream> en = Collections.enumeration(a);
            
            
            //创建序列流对象,需要传递Enumeration
            SequenceInputStream ss = new SequenceInputStream(en);
            
            //创建目录,文件
            FileOutputStream fos = new FileOutputStream("tempfile\4.txt");
    //        PrintStream ps = System.out;
            
            byte[] buff = new byte[1024];
            int len = 0;
            while((len=ss.read(buff))!=-1){
                fos.write(buff, 0,len);
    //            ps.println(new String(buff));
                
            }
            
            fos.close();
            ss.close();
            
        }
    
    }
  • 相关阅读:
    docker介绍与安装
    HTML5之Notification简单使用
    移动端实现复制内容至剪贴板
    flex基本概念
    nodejs建立websocket通信
    使用FileReader实现前端预览所选图片
    去除字符串中的空格
    用swing做一个简单的正则验证工具
    使用命令行生成jar包
    C#语言 语句
  • 原文地址:https://www.cnblogs.com/qjlbky/p/5914185.html
Copyright © 2011-2022 走看看