021.11 IO流 序列流
序列流: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(); }