笔记 —— SequenceInputStream

序列流:SequenceInputStream

序列流应用场景:将多个文件整合到一个文件中

一、整合2个文件

	try {
            FileInputStream fis3 = new FileInputStream("a.txt");
            FileInputStream fis4 = new FileInputStream("b.txt");
            SequenceInputStream sis = new SequenceInputStream(fis3, fis4);
            FileOutputStream fos = new FileOutputStream("c.txt");
            
            int b;
            while ((b = sis.read()) != -1) {
                fos.write(b);
            }
            
            sis.close();  // SequenceInputStream 的 close() 方法 会遍历关闭字节流对象
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

二、整合多个文件

	try {
            FileInputStream fis1 = new FileInputStream("a.txt");
            FileInputStream fis2 = new FileInputStream("b.txt");
            FileInputStream fis3 = new FileInputStream("c.txt");

            Vector<FileInputStream> vector = new Vector<>();
            vector.add(fis1);
            vector.add(fis2);
            vector.add(fis3);

            Enumeration<FileInputStream> enumeration = vector.elements();
            SequenceInputStream sis = new SequenceInputStream(enumeration);
            FileOutputStream fos = new FileOutputStream("d.txt");

            int b;
            while ((b = sis.read()) != -1) {
                fos.write(b);
            }

            sis.close();  
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

你可能感兴趣的:(Java)