// SequenceInputStream使用一例
/* SequenceInputStream类答应你连接多个InputStream流。SequenceInputStream的构造器使用
一对输入流或者一个输入流的枚举作为参数:
SequenceInputStream(InputStream first,InputStream second)
SequenceInputStream(Enumeration<? extends InputStream> streamEnum)
该类在对第一个流完成读请求后转到第二个,第三个...
下面例子输出两个文件的内容到控制台。
*/
import Java.io.*;
import java.util.*;
//该类提供了对向量的包装,返回根据文件名打开的FileInputStream.
class InputStreamEnumerator implements Enumeration {
private Enumeration files;
public InputStreamEnumerator(Vector files) {
this.files = files.elements();
}
public boolean hasMoreElements() {
return files.hasMoreElements();
}
public FileInputStream nextElement() {
try {
return new FileInputStream(files.nextElement().toString());
} catch (IOException e) {
return null;
}
}
}
class SequenceInputStreamDemo {
public static void main(String args[])
throws IOException {
int c;
Vector files = new Vector();
files.addElement("c:/java/1.txt");
files.addElement("c:/java/2.txt");
InputStreamEnumerator e = new InputStreamEnumerator(files);
InputStream input = new SequenceInputStream(e);
while ((c = input.read()) != -1) {
System.out.print((char) c);
}
input.close();
}
}