SequenceInputStream–合并流
合并流SequenceInputStream的用法很简单,实际的操作也不多见,合并流具体的作用是将两个源文件的内容合并,输出到目标文件。SequenceInputStream是InputStream的子类,它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达源文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的源文件末尾为止。
需要注意的是:哪个字节输入流放前面,就先读取相应的文件内容。
/**
* 程序:利用SequenceInputStream合并流将t1和t2文件的内容加载到t3的文件中
*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.SequenceInputStream;
public class SequenceInputStreamTest {
public static void main(String[] args){
SequenceInputStream sis;
OutputStream out;
try {
//创建的合并流,两个参数是相对应的源文件字节流
sis=new SequenceInputStream(new FileInputStream("G:\\test\\t1.txt"), new FileInputStream("G:\\test\\t2.txt"));
//创建写入目标文件的输出流
out=new FileOutputStream("G:\\test\\t3.txt");
byte[] buff=new byte[1024];
int len=0;
//进行读写任务
while((len=sis.read(buff))!=-1){
out.write(buff, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
finally{
//进行相应流的关闭
try {
sis.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}