使用SequenceInputStream将FileInputStream,StringBufferInputStream,ByteArrayInputStream组合起来,将读到的数据打印到控制台。
时间: 2023-08-25 17:11:12 浏览: 41
以下是使用SequenceInputStream将三种输入流组合起来,并将读到的数据打印到控制台的示例代码:
```java
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.SequenceInputStream;
import java.io.StringBufferInputStream;
public class SequenceInputStreamExample {
public static void main(String[] args) {
try {
// 创建三种不同类型的输入流
FileInputStream fis = new FileInputStream("file.txt");
StringBufferInputStream sbis = new StringBufferInputStream("Hello World!");
ByteArrayInputStream bais = new ByteArrayInputStream(new byte[]{1, 2, 3});
// 创建SequenceInputStream并将三种输入流组合起来
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 (Exception e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们创建了一个FileInputStream、一个StringBufferInputStream和一个ByteArrayInputStream,并将它们传递给SequenceInputStream来组合它们。然后我们使用SequenceInputStream逐个字节读取数据,并将读到的数据打印到控制台。最后,我们关闭了所有的输入流。