跟我学IO(SequenceInputStream类)

SequenceInputStream类的作用是将多个输入流进行逻辑上串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。

SequenceInputStream类的作用是将多个输入流进行逻辑上串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。 

如:存在三个InputStream输入流A、B、C,分别设置到SequenceInputStream中,然后开始从A输入流开始读取,直到将C读取完成为止。如下图:

SequenceInputStream

实现代码如下:

package io.inputStream;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.SequenceInputStream;

public class SequenceInputStreamTest {

	public static void main(String[] args) throws IOException {
		String buf01 = "https://";
		String buf02 = "www.";
		String buf03 = "bug315.com";
		
		// 定义两个字节数组输入流
		ByteArrayInputStream input1 = new ByteArrayInputStream(buf01.getBytes());
		ByteArrayInputStream input2 = new ByteArrayInputStream(buf02.getBytes());
		ByteArrayInputStream input3 = new ByteArrayInputStream(buf03.getBytes());
		
		// 使用SequenceInputStream将输入流input1、input2、input3串联起来
		SequenceInputStream sequence1 = new SequenceInputStream(input1, input2);
		SequenceInputStream sequence2 = new SequenceInputStream(sequence1, input3);
		byte[] bytes = new byte[2048];
		int len = -1;
		while ( (len = sequence2.read(bytes)) != -1 ) {
			System.out.print( new String(bytes, 0, len) );
		}
		System.out.println();
	}
}

输出结果:

https://www.hxstrive.com

业精于勤,荒于嬉。——韩愈《进学解》
0 不喜欢
说说我的看法 -
全部评论(
没有评论
目录
热门标签
热门文章
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号