zoukankan      html  css  js  c++  java
  • java SequenceInputStream类(序列输入流)的用法示例

    public class SequenceInputStreamextends InputStream
    
    

    SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。

    sequence[英][ˈsi:kwəns] [美][ˈsikwəns, -ˌkwɛns] 

    n.[数]数列,序列;顺序;连续;片断插曲

    vt.使按顺序排列,安排顺序;[生化]确定……的顺序,确定……的化学结构序列

    示例代码
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.SequenceInputStream;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Enumeration;
    import java.util.Iterator;

    public class SequenceInputStreamDemo {

     /**
      * @param args
      * @throws IOException
      */
     public static void main(String[] args) throws IOException {

      
      /*
       * 需求:将1.txt 2.txt 3.txt文件中的数据合并到一个文件中。
       */
      
    //  Vector<FileInputStream> v = new Vector<FileInputStream>();  
    //  v.add(new FileInputStream("1.txt"));
    //  v.add(new FileInputStream("2.txt"));
    //  v.add(new FileInputStream("3.txt"));
    //  Enumeration<FileInputStream> en = v.elements();
      
      ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
      for(int x=1; x<=3; x++){
       al.add(new FileInputStream(x+".txt"));
      }
      
      Enumeration<FileInputStream> en = Collections.enumeration(al);
      
      
      
      /*
      final Iterator<FileInputStream> it = al.iterator();
      Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){

       @Override
       public boolean hasMoreElements() {
        
        return it.hasNext();
       }

       @Override
       public FileInputStream nextElement() {
        
        return it.next();
       }
       
      };*/
      
      SequenceInputStream sis = new SequenceInputStream(en);
      
      FileOutputStream fos = new FileOutputStream("1234.txt");
      
      byte[] buf = new byte[1024];
      
      int len = 0;
      
      while((len=sis.read(buf))!=-1){
       fos.write(buf,0,len);
      }
      
      fos.close();
      sis.close();
      
     }

    }

  • 相关阅读:
    微信h5下拉隐藏网页,还有取消页面滑动
    vuejs中使用递归嵌套组件
    运行gitbook init命令报错及问题解决办法
    利用python生成gitbook目录文件
    通过Appium日志,分析其运行原理
    字符串两两更换位置
    Dockerfile启动的程序,内存不断增长问题
    测试流程优化
    APP测试面试题(一)
    关于面试总结13-app测试面试题
  • 原文地址:https://www.cnblogs.com/flying607/p/3435799.html
Copyright © 2011-2022 走看看