📄 inputstreamenumerator.java~1~
字号:
package sequenceinputstream;
/**
SequenceInputStream类允许连接多个InputStream流。SequenceInputStream的构造不同于
任何其他的InputStream。SequenceInputStream构造函数要么使用一对InputStream,要么用
InputStream的一个Enumeration,显示如下:
SequenceInputStream(InputStream first, InputStream second)
SequenceInputStream(Enumeration streamEnum)
操作上来说,该类满足读取完第一个InputStream后转去读取第二个流的读取要求。使
用Enumeration的情况下,它将继续读取所有InputStream流直到最后一个被读完。
下面是用SequenceInputStream输出两个文件内容的例子程序:
*/
// Demonstrate sequenced input.
import java.io.*;
import java.util.*;
class InputStreamEnumerator
implements Enumeration {
private Enumeration files;
public InputStreamEnumerator(Vector files) {
this.files = files.elements();
}
public boolean hasMoreElements() {
return files.hasMoreElements();
}
public Object nextElement() {
try {
return new FileInputStream(files.nextElement().toString());
}
catch (Exception e) {
return null;
}
}
}
class SequenceInputStreamDemo {
public static void main(String args[]) throws Exception {
int c;
Vector files = new Vector();
files.addElement("/autoexec.bat");
files.addElement("/config.sys");
InputStreamEnumerator e = new InputStreamEnumerator(files);
InputStream input = new SequenceInputStream(e);
while ( (c = input.read()) != -1) {
System.out.print( (char) c);
}
input.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -