IO流(SequenceInputStream序列流

时间:2022-11-12 04:51:11

  一、SequenceInputStream序列流实现多个文件合并成一个文件

  Vector 类可以实现可增长的对象数组,

  FileInputStream(输入流):输入流是用来读入数据的  

  OutputStream(输出流):输出流是用来写出数据的,
  elements() 返回此向量的组件的枚举。

 

 
package ioDemo;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

/**
* SequenceInputStream 序列流
*将多个文件中数据合并到一个文件中
* Created by lcj on 2017/11/13.
*/
public class SequenceInputStreamDemo {
public static void main(String[] args) throws IOException{
/**
* 将多个文件中数据合并到一个文件中
* */
//Vector 类可以实现可增长的对象数组,FileInputStream(输入流):输入流是用来读入数据的
Vector<FileInputStream> v = new Vector<FileInputStream>();
v.add(new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\1.txt"));
v.add(new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\2.txt"));
v.add(new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\3.txt"));
//elements() 返回此向量的组件的枚举。
Enumeration<FileInputStream> en = v.elements();
//序列流,字节读取流
SequenceInputStream sis = new SequenceInputStream(en);
//OutputStream(输出流):输出流是用来写出数据的,
FileOutputStream fos = new FileOutputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\04.txt");
byte[] buf = new byte[1024];
int len = 0;
while ((len = sis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}