分类:
2008-10-28 18:10:52
// 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(); } }