dick0621 发表于 2008-12-30 11:16:02

SequenceInputStream使用一例

// 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();
}
}
页: [1]
查看完整版本: SequenceInputStream使用一例