有些情况下,当我们需要从多个输入流中向程序读入数据。此时,将多个输入流合并成一个SequenceInputStream流对象。
SequenceInputStream会将与之相连接的流集组合成一个输入流,并从第一个输入流开始读取,直到到达文件的末尾,接着从第二个输入流读取,以此类推,直到到达包含的最后一个输入流的文件末尾为止。合并流的作用是将多个源合并成一个源。
public class TestSequence {
public static void main(String[] args)throws Exception{
//不管怎么样,先创建两个文件。从里面读取数据,(我的文件里面有内容!)
InputStream in1=new FileInputStream(new File("d:\\jack.txt"));
InputStream in2=new FileInputStream(new File("d:\\jack2.txt"));
//读取,数据后要生成的文件
OutputStream ou=new FileOutputStream(new File("d:\\jack3.txt"));
//创建SequenceInputStream类,
SequenceInputStream si=new SequenceInputStream(in1,in2);
//因为SequenceInputStream,是一个字节一个字节读,要判断一下是否读完了。
int c=0;
while((c=si.read())!=-1){
//这里也是一个字节一个字节写的。
ou.write(c);
}
//关闭所有的资源
si.close();
ou.close();
in2.close();
in1.close();
}
}