这里使用合并流的第二种构造方法,传入一个Enumeration<FileInputStream>对象:
具体方法如下:
- import java.io.BufferedOutputStream;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.SequenceInputStream;
- import java.util.Enumeration;
- import java.util.Vector;
- /*
- * 将多个文件的内容复制到一个文件中:
- * 使用合并流、Vector、Enumeration实现
- */
- public class Demo6 {
- public static void main(String[] args) throws IOException {
- // 创建Vector集合
- Vector<FileInputStream> v = new Vector<FileInputStream>();
- FileInputStream f1 = new FileInputStream("F:\\path变量备份.txt");
- FileInputStream f2 = new FileInputStream("F:\\path变量备份.txt");
- FileInputStream f3 = new FileInputStream("F:\\path变量备份.txt");
- FileInputStream f4 = new FileInputStream("F:\\path变量备份.txt");
- v.add(f1);
- v.add(f2);
- v.add(f3);
- v.add(f4);
- Enumeration<FileInputStream> e = v.elements();
- // 创建合并流对象
- SequenceInputStream sis = new SequenceInputStream(e);
- BufferedOutputStream bos = new BufferedOutputStream(
- new FileOutputStream("合并后2.txt"));
- byte[] bys = new byte[1024];
- int len = 0;
- while ((len = sis.read(bys)) != -1) {
- bos.write(bys, 0, len);
- }
- sis.close();
- bos.close();
- }
- }
复制代码
|
|