• 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();
            
        }
    
    }
  • 相关阅读:
    <script>标签的加载解析执行
    百度地图API位置偏移的校准算法
    开源实时消息推送系统 MPush
    开源GIS软件 4
    Bootstrap 只读输入框
    javascript中的后退和刷新
    HTML中的文本框textarea标签
    Spring Boot 特性 —— SpringApplication
    SpringMVC使用POST方法传递数据,却出现Request method 'GET' not supported?
    springboot的登录拦截机制
  • 原文地址:https://www.cnblogs.com/qjlbky/p/5914185.html
Copyright © 2020-2023  润新知