您的位置:首页 > 产品设计 > UI/UE

IO流 合并流 SequenceInputStream

2016-07-29 22:05 344 查看
//IO流 合并流 SequenceInputStream
import java.io.*;
import java.uitl.*;
class  SequenceDemo
{
public static void main(String[] args) throws IOException
{
Vector<FileInputStream> v = new Vector();//Vector 是个集合对象 //源

v.add(new FileInputStream("c:\\1.txt"));
v.add(new FileInputStream("c:\\2.txt"));
v.add(new FileInputStream("c:\\3.txt"));//把要合并的文件 先添加到 集合里面,再使用elements()枚举方法

Enumeration<FileInputStream> en = v.elements();//elements()枚举方法,取出元素,
//Enumeration是一种迭代器,可以从一种数据结构得到连续数据
//elements() 方法用来返回这个向量的组件的枚举。返回Enumeration对象将生成此向量的所有项目在类似的索引位置。
SequenceInputStream sis = new SequenceInputStream(en);//序列流对象,参数放Enumeration对象

FileOutputStream fos = new FileOutputStream("c:\\4.txt");//目的,文件输出流

byte[] buf = new byte[1024];//缓冲区

int len = 0;
while ((len= sis.read(buf))!=-1)//InputStream的子类,自带read()方法,-1是读取完毕结尾
/* int read(byte[] b, int off, int len)   将输入流中最多 len 个数据字节读入 byte 数组。 */
{
fos.write(buf,0,len);//fos对象调用write()方法,写入buf数组缓冲区,从下标(off) 0开始,长度len
}

fos.close();
sis.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  io流 java 合并流