IO流中SequenceInputStream类
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类的更多相关文章
- (22)Properties,这不会Io流中的类,但是通常和IO流中的一些流配合使用
可以和流相关联的集合对象Properties. Map |--Hashtable |--Properties Properties:该集合不需要泛型,因为该集合中的键值对都是String类型.既然是m ...
- 第54节:Java当中的IO流(中)
Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...
- io流中的装饰模式对理解io流的重要性
为了说明 io流中的装饰者模式对理解io流的重要性,我想先简要介绍以下io的装饰模式. 装饰(decorator)你也可以翻译成修饰.比如:一个会精通化学数学的物理学家.在这个"物理学家&q ...
- Java当中的IO流(中)
Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){ / ...
- 揭开Java IO流中的flush()的神秘面纱
大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...
- IO流,File类的测试........课堂加总结
package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...
- IO流的工具类
1.需要先导入jar包: FilenameUtils import org.apache.commons.io.FilenameUtils; public class FilenameUtilesDe ...
- Java IO流中的File类学习总结
一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...
- io流中比较特殊的流-java
1.序列流(SequenceInputStream)整合个多个文件 A SequenceInputStream表示其他输入流的逻辑级联. 它从一个有序的输入流集合开始,从第一个读取到文件的结尾,然后从 ...
随机推荐
- linux shell脚本使用结构化命令(2)
一.for命令 二.while命令 三.until命令 1.for命令基本格式 for var in list do commands done oracle@suse:~/testshell> ...
- 介绍Ext JS 4.2的新特性的《深入浅出Ext JS》上市
以用户为中心的时代,应用的界面外观变得越来越重要.然而,很多程序员都缺乏美术功底,要开发出界面美观的应用实属不易.Ext JS的出现,为广大程序员解决了这一难题.它有丰富多彩的界面和强大的功能,是开发 ...
- Hello Spring Framework——源(Resources)
本文介绍Spring框架如何解析外部资源文件,仅参考官方文档<第7章 Resources>. ***************************以下是正文的部分************ ...
- 2 . Linux常见命令
Linux常见命令格式: 命令名称 选项 参数 ls -alh 文件/目录 --all #ls 显示当前目录内容 #ls -l 显示文件详细信息 #ls -hl h已常见单位显示文件大小 k M G# ...
- spine实现预加载(一)
前言 本文实现了spine动画的预加载,解决在战斗等大量加载spine动画的时候出现卡顿现象. 这里使用和修改三个类,直接修改的源码,当然你也可以继承LuaSkeletonAnimation,自己封装 ...
- android 获取设备拔插状态广播事件易漏掉的一行属性!
我们都知道设备拔插的状态获取需要一个权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILES ...
- 华硕电脑u盘启动及原来win8现在安装win7后找不到硬盘解决方法
1.设置U盘启动 开机按F2进入BIOS,Security-Secure Boot Control设为Disabled , BOOT-Lunch CSM 设为Enabled 按F10保存. 重启按ES ...
- eclipse 4.5.2 源码修改 格式化Java代码
注:本文代码基于eclipse4.5.2 1. 需求:在换电脑之后,如何不用配置eclipse就可以很快进入开发呢,并保持原来的编码规范. 2. 方法:修改eclipse源码 分别修改了两个jar包2 ...
- 类加载机制(深入理解JAVA虚拟机学习笔记)
1.类加载机制的定义 将class文件加载到内存,然后对class文件中的数据进行校验.解析和初始化,转换成可以被虚拟机直接使用的JAVA类型,这就是虚拟机的类加载机制.(在JAVA中,类的加载.连接 ...
- 通过js引用外部脚本(嘿嘿,方便直接在浏览器上调试抓取代码)
最近折腾爬虫,后端使用jQuery进行数据采集,一般都是先从浏览器中将采集代码调试好后直接放到后端跑了. 有些网址没有引用jQuery,那调试起来就不方便了,可以用以下代码动态添加script标签,将 ...