顺序输入流 SequenceInputStream

     SequenceInputStream 类可以将几个输入流串联在一起,合并为一个输入流。当通过这个类来读取数据时,它会依次从所有被串联的输入流中读取数据。对于程序来说,就好像是对同一个流操作。SequenceInputStream类的构造方法为: 
     
     SequenceInputStream(Enumeration e) --------在枚举类型的参数e中包含了若干需要被串联的输入流。 

     SequenceInputStream(InputStream s1, InputStream s2) ------参数s1和s2代表两个需要被串联的输入流。顺序输入流先读取s1中的数据,再读取s2中的数据。 

   下面演示SequenceInputStream的用法 
Java代码   收藏代码
  1. package xiaohang.com;  
  2.   
  3. import java.io.ByteArrayInputStream;  
  4. import java.io.IOException;  
  5. import java.io.InputStream;  
  6. import java.io.SequenceInputStream;  
  7.   
  8. public class SequenceTester {  
  9.     public static void main(String[] args) throws IOException {  
  10.         InputStream s1 = new ByteArrayInputStream("你".getBytes());  
  11.         InputStream s2 = new ByteArrayInputStream("好".getBytes());  
  12.         InputStream in = new SequenceInputStream(s1, s2);  
  13.         int data;  
  14.         while ((data = in.read()) != -1) {  
  15.             System.out.println(data + "\t");  
  16.         }  
  17.         in.close();  
  18.     }  
  19. }  

  
    以上main()方法 先创建了两个字节数组输入流,假定本地的操作系统的默认的字符编码为GBK,其实就是 GBK。 "你".getBytes()方法返回 “你”的GBK字符编码, "好".getBytes()方法返回字符“好”的GBK字符编码。 main()方法接着创建了一个顺序输入流,它把前面两个输入流串联了起来。 打印结果如下: 

 

   在上边的打印结果中, 196和227为“你”的GBK 字符编码, 186和195为 "好" 的字符编码。 
    程序只要关闭顺序输入流,它的 close()方法就会依次关闭所有被串联的输入流。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值