合并流SequenceInputStream

合并流

SequenceInputStream概述

SequenceInputStream类可以将多个输入流串流在一起,合并为一个输入流,因次,该流也称为合并流。

SequenceInputStream的构造方法

SequenceInputStream(inputStream s1,inputStream s2);

SequenceInputStream(Enumeration<? extends inputStream> e);

把多个文件的内容写入到一个文本文件

SequenceInputStream的构造方法

SequenceInputStream(inputStream s1,inputStream s2);

把多个文件的内容写入到一个文本文件

import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		InputStream is1 = new FileInputStream("E:\zikao\file\cs.txt");
		InputStream is2 = new FileInputStream("E:\zikao\file\cs1.txt");
		SequenceInputStream sis = new SequenceInputStream(is1, is2);

		FileOutputStream fos = new FileOutputStream("E:\zikao\file\cs2.txt");
		BufferedOutputStream bos = new BufferedOutputStream(fos);

		byte bys[] = new byte[1024];
		int len = 0;
		while ((len = sis.read(bys)) != -1) {
			bos.write(bys, 0, len);
		}

		bos.close();
		sis.close();
		is2.close();
		is1.close();
	}
}

SequenceInputStream的构造方法

SequenceInputStream(Enumeration<? extends inputStream> e);

把多个文件的内容写入到一个文本文件

import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		Vector<InputStream> v = new Vector<InputStream>();
		InputStream is1 = new FileInputStream("E:\zikao\file\cs.txt");
		InputStream is2 = new FileInputStream("E:\zikao\file\cs1.txt");
		InputStream is3 = new FileInputStream("E:\zikao\file\cs2.txt");

		v.add(is1);
		v.add(is2);
		v.add(is3);

		Enumeration<InputStream> en = v.elements();

		SequenceInputStream sis = new SequenceInputStream(en);

		FileOutputStream fos = new FileOutputStream("E:\zikao\file\result.txt");
		BufferedOutputStream bos = new BufferedOutputStream(fos);

		byte bys[] = new byte[1024];
		int len = 0;
		while ((len = sis.read(bys)) != -1) {
			bos.write(bys, 0, len);
		}

		bos.close();
		sis.close();
	}
}
原文地址:https://www.cnblogs.com/denggelin/p/6341560.html