java 之 顺序输入流-SequenceInputStream 将几个文本文件合并

来源:互联网 发布:守望先锋鼠标宏编程 编辑:程序博客网 时间:2024/06/14 03:17

写法一:

import java.io.*;import java.util.*;public class Main {    public static void main(String[] args) throws IOException {        Vector<FileInputStream> v=new Vector<FileInputStream>();        v.add(new FileInputStream("/Users/mac/java/1.txt"));        v.add(new FileInputStream("/Users/mac/java/2.txt"));        v.add(new FileInputStream("/Users/mac/java/3.txt"));        Enumeration<FileInputStream> e=v.elements();        SequenceInputStream s=new SequenceInputStream(e);        FileOutputStream fos=new FileOutputStream("/Users/mac/java/all.txt");        byte[] buf=new byte[1024];        int len=0;        while((len=s.read(buf))!=-1)        {            fos.write(buf,0,len);        }        fos.close();        s.close();    }}

写法二:

import java.io.*;import java.util.*;public class Main {    public static void main(String[] args) throws IOException {        List<FileInputStream> list=new ArrayList<FileInputStream>();        list.add(new FileInputStream("/Users/mac/java/1.txt"));        list.add(new FileInputStream("/Users/mac/java/2.txt"));        list.add(new FileInputStream("/Users/mac/java/3.txt"));        Enumeration<FileInputStream> e=Collections.enumeration(list);        SequenceInputStream s=new SequenceInputStream(e);        FileOutputStream fos=new FileOutputStream("/Users/mac/java/all.txt");        byte[] buf=new byte[1024];        int len=0;        while((len=s.read(buf))!=-1)        {            fos.write(buf,0,len);        }        fos.close();        s.close();    }}


原创粉丝点击