// 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().
}
}