1 package test; 2 3 /** 4 * SequenceInputStream合并流,将与之相连接的流集组合成一个输入 流并从第一个输入流开始读取, 直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达 包含的最后一个输入流的文件末 尾为止。 合并流的作用是将多个源合并合一个源。 可接收枚举类所封闭的多个字节流对象。 5 */ 6 import java.io.BufferedOutputStream; 7 import java.io.FileInputStream; 8 import java.io.FileOutputStream; 9 import java.io.InputStream;10 import java.io.SequenceInputStream;11 import java.util.Enumeration;12 import java.util.Vector;13 14 public class Test1915 {16 public static void main(String[] args) throws Exception17 {18 doSequence();19 }20 PRivate static void doSequence() throws Exception21 {22 Vector<InputStream> vector = new Vector<InputStream>();23 vector.addElement(new FileInputStream("D:/text1.txt"));24 vector.addElement(new FileInputStream("D:/text2.txt"));25 vector.addElement(new FileInputStream("D:/text3.txt"));26 Enumeration<InputStream> e = vector.elements();27 SequenceInputStream sis = new SequenceInputStream(e);28 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:/text4.txt"));29 int len = 0;30 for (byte[] buf = new byte[1024*1024]; (len = sis.read(buf)) != -1;)31 {32 bos.write(buf, 0, len);33 bos.flush();34 }35 sis.close(); //这个相当于 3个 fis的close();36 bos.close();37 }38 }
新闻热点
疑难解答