SequenceInputStream类:

不断的读取InputStream流对象,对于使用Enumeration对象的情况,该类将持续读取所有InputStream对象中的内容,直到到达最后一个InputStream对象的末尾为止

当到达每个文件的末尾时,与之关联的流就会被关闭。关闭通过SequenceInputStream创建的流,会导致关闭所有未关闭的流

package com.test;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;
import org.junit.Test;
/**
* @Description:IO的Dmeo
* @author zbs
* @date 2016年11月24日 下午1:47:02
*/
public class IODemo
{ @Test
public void test()
{
// 创建一个合并流对象
SequenceInputStream sis = null;
// 创建输出流
BufferedOutputStream bos = null; // 构造输入流集合
Vector<InputStream> vector = new Vector<InputStream>();
try
{
vector.addElement(new FileInputStream(new File("E:/1.txt")));
vector.addElement(new FileInputStream(new File("E:/2.txt")));
vector.addElement(new FileInputStream(new File("E:/3.txt")));
vector.addElement(new FileInputStream(new File("E:/4.txt")));
Enumeration<InputStream> enums = vector.elements();
sis = new SequenceInputStream(enums);
bos = new BufferedOutputStream(new FileOutputStream(new File("E:/all.txt")));
byte[] buff =new byte[1024];
int len = 0;
while((len = sis.read(buff)) != -1)
{
bos.write(buff, 0, len);
} }
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if(sis != null)
{
try
{
sis.close();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if(bos != null)
{
try
{
bos.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
}
}
}

  

IO流中SequenceInputStream类的更多相关文章

  1. (22)Properties,这不会Io流中的类,但是通常和IO流中的一些流配合使用

    可以和流相关联的集合对象Properties. Map |--Hashtable |--Properties Properties:该集合不需要泛型,因为该集合中的键值对都是String类型.既然是m ...

  2. 第54节:Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...

  3. io流中的装饰模式对理解io流的重要性

    为了说明 io流中的装饰者模式对理解io流的重要性,我想先简要介绍以下io的装饰模式. 装饰(decorator)你也可以翻译成修饰.比如:一个会精通化学数学的物理学家.在这个"物理学家&q ...

  4. Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){ / ...

  5. 揭开Java IO流中的flush()的神秘面纱

    大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...

  6. IO流,File类的测试........课堂加总结

    package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...

  7. IO流的工具类

    1.需要先导入jar包: FilenameUtils import org.apache.commons.io.FilenameUtils; public class FilenameUtilesDe ...

  8. Java IO流中的File类学习总结

    一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...

  9. io流中比较特殊的流-java

    1.序列流(SequenceInputStream)整合个多个文件 A SequenceInputStream表示其他输入流的逻辑级联. 它从一个有序的输入流集合开始,从第一个读取到文件的结尾,然后从 ...

随机推荐

  1. 鸟哥的linux私房菜学习记录之软件安装RPM,SRPM,YUM

  2. webService-cxf

    官网必备包,自己研究api:http://cxf.apache.org/download.html 然后就是一个简单的例子了: 先服务端: package com.cxf; import javax. ...

  3. win10+PHP7

    在D盘自定义新建文件夹ApacheServer 再在ApacheServer文件夹下分别建立php,Apache,mysql,web四个文件夹分别用来存放 php,apache,mysql,项目文件 ...

  4. Linux的常用命令

    1.cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如:   cd /root/Docements # 切 ...

  5. Prince2七大主题之风险

    Prince2七大主题之风险   我们前几个节学习了PRINCE2七大主题的商业论证.组织.质量和计划,今天我们开展对于风险模块的讲解. 风险:目的是识别.评估和控制不确定性,从而提高项目的成功率.P ...

  6. base64与byte[]之间转换

    主要是根据BASE64Encoder 和BASE64Decoder 进行操作实现,具体例子如下: BASE64Encoder encode = new BASE64Encoder(); //将byte ...

  7. 剑指offer 复制构造函数

    复制构造函数: A(const A &other){value=other.value;} 也就是传值参数改为常量引用. #include<iostream> using name ...

  8. 【转】破解Source Insight 3.5.0072过程 附:安装软件+注册机

    转载地址:http://blog.csdn.net/qs_hud/article/details/8884867 注册机及软件下载地址:http://download.csdn.net/detail/ ...

  9. HDU 1272 小希的迷宫 并查集

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  10. PHP的一些开源项目网站

    https://github.com/wenzhixin/bootstrap-table https://github.com/1000hz/bootstrap-validator