合并流,就是将两个输入流合并成一个输入流,可以这么理解
代码例子:
public class SequenceInputStreamDemo {
public static void main(String[] args) throws IOException {
//创建合并流管道
SequenceInputStream sis = new SequenceInputStream(new FileInputStream("D:/java/文件1.txt"), new FileInputStream("D:/java/文件2.txt"));
//创建输出流管道
OutputStream out = new FileOutputStream("D:/java/文件3.txt");
//声明byte数组用于存储从输入流读取到的数据
byte[] by = new byte[1024];
//该变量纪录每次读取到的字符个数
int count = 0;
//读取输入流中的数据
while((count = sis.read(by))!=-1){
//输出从输入流中读取到的数据
out.write(by, 0, count);
}
//关闭合并流
sis.close();
//强制把输出流中的数据写入
out.flush();
//关闭输出流
out.close();
}
}
代码解析:
1、需要两个源文件,还有输出的目标文件。
2、合并流提供的构造函数SequenceInputStream(InputStream s1, InputStream s2)。
3、构造函数中的参数顺序将决定先读取哪个输入流。
4、读取合并流时,合并流会从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,直到到达包含的最后一个输入流的文件末尾为止。
5、在读取过程输出到目标文件中。
6、关闭合并流和输出流。