SequenceInputStream合并文件

时间:2014-03-12 15:34:11   收藏:0   阅读:411
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Vector;
 
/**
 * 序列流合并文件
 * @author Administrator
 *
 */
public class SequenceInputStreamTest {
 
    public static void main(String[] args) throws IOException {
        //思路
        //1.首先定义一个vector用于打包输入流
        //那么这里为什么要用vector呢?
        //因为Vector类的elements()方法的返回值刚好与SequenceInputStream的构造器的参数
        //一致都是Enumeration类型
        Vector<FileInputStream> vector = new Vector<FileInputStream>();
        //2.定义被打包的文件,这些文件必须存在,new File 不负责建新文件
        File fileA = new File("a.txt");
        File fileB = new File("b.txt");
        File fileC = new File("c.txt");
        //3.将文件打包
        vector.add(new FileInputStream(fileA));
        vector.add(new FileInputStream(fileB));
        vector.add(new FileInputStream(fileC));
        //4.用序列流进行合并
        SequenceInputStream sts = new SequenceInputStream(vector.elements());
        //5.将序列流输出到一个文本上
        File fileD = new File("d.txt");
        FileOutputStream out = new FileOutputStream(fileD);
        //自定义缓冲区
        byte[] bytes = new byte[1024];
        int count = 0;
        while((count = sts.read(bytes)) != -1){
            out.write(bytes, 0, count);
        }
        //一定要记得关闭流
        sts.close();
        out.close();
    }
 
}

  

SequenceInputStream合并文件,布布扣,bubuko.com

原文:http://www.cnblogs.com/lxricecream/p/3596060.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!