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 }
新聞熱點
疑難解答