1. 程式人生 > >021.11 IO流 序列流

021.11 IO流 序列流

IT 工具類 lose 有序 TP for col AI enc

序列流:SequenceInputStream
特點:流對象有序排列
解決問題:將多個輸入流合並成一個輸入流,將多個源合並成一個源,對於多個源的操作會變簡單。

構造函數參數就是輸入流,一初始化就合並了多個流。

public static void main(String[] args) throws IOException
{
    //獲取枚舉,Vector有,但是效率低,使用ArrayList
    ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
    for(int x = 1; x<=3 ; x++){
        al.add(
new FileInputStream("myfile\\"+x+".txt")); } //通過ArrayList獲取枚舉,可以使用Collections工具類的方法 Enumeration<FileInputStream> en = Collections.enumeration(al); //創建序列流對象,需要傳遞Enumeration SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("myfile\\4.txt");
byte[] buf = new byte[1024]; int len = 0; while((len = sis.read(buf))!=-1){ fos.write(buf,0,len); } fos.close(); sis.close(); }

021.11 IO流 序列流