本文共 1116 字,大约阅读时间需要 3 分钟。
//IO流 合并流 SequenceInputStreamimport java.io.*;import java.uitl.*;class SequenceDemo{ public static void main(String[] args) throws IOException { Vectorv = 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 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(); }}
转载地址:http://ewzvb.baihongyu.com/