package com.io.properties;
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
* 把多个输入流合并成一个输入流,再用输出流输出
* @author wjw
*
*/
public class SequenceInputStream_class {
public static void main(String[] args) {
try {
method();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void method() throws IOException{
Vector<FileInputStream> v=new Vector<FileInputStream>();
FileInputStream f1=new FileInputStream("g:/java/1.txt");
FileInputStream f2=new FileInputStream("g:/java/2.txt");
FileInputStream f3=new FileInputStream("g:/java/3.txt");
v.add(f1);
v.add(f2);
v.add(f3);
Enumeration<FileInputStream> en=v.elements();//把Vector集合中的数据放到Enumeration枚举中,
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream("g:/java/4.txt");
byte[] b=new byte[1024];
int num=0;
while(-1!=(num=sis.read(b))){
fos.write(b,0,num);
fos.flush();
}
fos.close();
sis.close();//关闭了集合中的所有流
}
}