例1:合并流的使用示例,将两个文件合并成一个文件
/**
* Created by liwei on 16/7/20.
* 测试流程:合并两个文本文件
*/
public class SequenceInputStreamDemo {
public static void main(String[] args) throws FileNotFoundException,IOException {
InputStream s1 = new FileInputStream("se1.txt");
InputStream s2 = new FileInputStream("se2.txt");
SequenceInputStream sis = new SequenceInputStream(s1,s2);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("merge.txt"));
byte[] bys = new byte[1024];
int len = 0;
while ((len=sis.read(bys))!=-1){
bos.write(bys,0,len);
}
bos.close();
sis.close();
}
}
例2:把三个文件合并在一起
/**
* Created by liwei on 16/7/20.
*
* 测试流程:合并三个文本文件
*/
public class SequenceInputStreamDemo2 {
public static void main(String[] args) throws IOException {
Vector<InputStream> v = new Vector<>();
InputStream s1 = new FileInputStream("se1.txt");
InputStream s2 = new FileInputStream("se2.txt");
InputStream s3 = new FileInputStream("merge.txt");
v.add(s1);
v.add(s2);
v.add(s3);
Enumeration<InputStream> en = v.elements();
SequenceInputStream sequenceInputStream = new SequenceInputStream(en);
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("mergeMore.txt"));
int len = 0;
byte[] bys = new byte[100];
while ((len=sequenceInputStream.read(bys))!=-1){
bos.write(bys,0,len);
}
bos.close();
sequenceInputStream.close();
}
}