1. 序列流

  • 什么是序列流

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

  • 类:

    • java.io.SequenceInputStream
      • 构造方法:
        • SequenceInputStream(InputStream s1, InputStream s2)   通过记住这两个参数来初始化新创建的SequenceInputStream(将按顺序读取这两个参数),以提供从此SequenceInputStream读取的字节。
        • SequenceInputStream(Enumeration<? extends InputStream> e)   通过记住参数来初始化新创建的SequenceInputStream,该参数必须是生成运行时类型为InputStream对象的Enumeration型参数。
      • 方法:
        • int available()    返回不受阻塞地从当前底层输入流读取(或跳过)的字节数的估计值,方法是通过下一次调用当前底层输入流的方法。
        • void close()    关闭此输入流并释放与此流关联的所有系统资源。
        • int read()     从此输入流中读取下一个数据字节。
        • int read(byte[] b, int off, int len)      将最多 len 个数据字节从此输入流读入 byte 数组。
  • 整合两个的实例:
    • SequenceInputStream(InputStream, InputStream)
    • package com.heima.otherio;
      
      import java.io.FileInputStream;
      import java.io.FileOutputStream;
      import java.io.FileWriter;
      import java.io.IOException;
      import java.io.SequenceInputStream;
      
      public class Demo1_SequenceInputStream {
      
          /**
           * @param args
           * @throws IOException 
           */
          public static void main(String[] args) throws IOException {
              FileInputStream fis1 = new FileInputStream("a.txt");
              FileInputStream fis2 = new FileInputStream("b.txt");
              
              SequenceInputStream sis = new SequenceInputStream(fis1, fis2);
              FileOutputStream fos = new FileOutputStream("out.txt");
              
              int b;
              while((b = sis.read()) != -1) {
                  fos.write(b);
              }
              
              sis.close();
              fos.close();
              
          }
      }
      View Code

相关文章:

  • 2021-03-31
  • 2021-06-30
  • 2021-09-12
  • 2021-09-14
  • 2021-10-25
  • 2021-09-23
  • 2021-09-02
  • 2021-12-04
猜你喜欢
  • 2022-01-04
  • 2021-07-30
  • 2022-02-20
  • 2021-09-24
  • 2021-11-08
  • 2021-10-16
  • 2021-08-03
相关资源
相似解决方案