使用SequenceInputStream将FileInputStream,StringBufferInputStream,ByteArrayInputStream组合起来,将读到的数据打印到控制台。
时间: 2023-10-25 20:02:39 浏览: 115
输入输出流的见解
好的,以下是实现该功能的Java代码:
```java
import java.io.*;
public class SequenceInputStreamDemo {
public static void main(String[] args) {
try {
// 创建输入流对象
FileInputStream fis = new FileInputStream("file.txt"); // 读取文件
StringBufferInputStream sbis = new StringBufferInputStream("Hello, "); // 读取字符串
ByteArrayInputStream bais = new ByteArrayInputStream(new byte[] { 'W', 'o', 'r', 'l', 'd', '!' }); // 读取字节数组
// 创建序列化输入流对象
SequenceInputStream sis = new SequenceInputStream(fis, new SequenceInputStream(sbis, bais));
// 读取数据并打印到控制台
int data;
while ((data = sis.read()) != -1) {
System.out.print((char) data);
}
// 关闭流
sis.close();
fis.close();
sbis.close();
bais.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该程序将三个输入流通过`SequenceInputStream`组合起来,然后使用`read`方法读取数据,并将读到的字符打印到控制台上。运行该程序将输出:`Hello, World!`。
阅读全文