• 周日. 11 月 10th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

021.11 IO流 序列流

admin

11 月 28, 2021

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

发表回复