JavaSE|合并流:SequenceInputStream
public class SequenceInputStream
extends InputStream
SequenceInputStream类可以将多个输入流串流在一起,合并为一个输入流,因此,该流也被称为合并流。
构造方法:
- SequenceInputStream(InputStream s1, InputStream s2)
- SequenceInputStream(Enumeration<? extends InputStream> e)
利用SequenceInputStream(InputStream s1, InputStream s2),将两个文件合并写入一个文件
InputStream s1 = new FileInputStream("BufferedReaderDemo.java");
InputStream s2 = new FileInputStream("CopyFileDemo.java");
SequenceInputStream sis = new SequenceInputStream(s1,s2);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("Copy.java"));
byte[] bys = new byte[1024];
int len = 0;
while((len = sis.read(bys)) != -1){
bos.write(bys, 0, len);
}
bos.close();
sis.close();
利用SequenceInputStream(Enumeration<? extends InputStream> e),将多个文件合并写入一个文件
Vector<InputStream> v = new Vector<InputStream>();
InputStream s1 = new FileInputStream("BufferedReaderDemo.java");
InputStream s2 = new FileInputStream("CopyFileDemo.java");
InputStream s3 = new FileInputStream("SystemInDemo.java");
v.add(s1);
v.add(s2);
v.add(s3);
Enumeration<InputStream> en = v.elements();
SequenceInputStream sis = new SequenceInputStream(en);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("Copy.java"));
byte[] bys = new byte[1024];
int len = 0;
while((len = sis.read(bys)) != -1){
bos.write(bys, 0, len);
}
bos.close();
sis.close();