java 哪个OutputStream可以直接写入Inputstream
时间: 2024-03-24 07:16:34 浏览: 11
在 Java 中,可以使用 PipedOutputStream 和 PipedInputStream 来实现 OutputStream 直接写入 InputStream 的功能。PipedOutputStream 可以向一个 PipedInputStream 写入数据,而 PipedInputStream 可以从一个 PipedOutputStream 读取数据。这两个类可以构成管道流,实现数据的传输。
下面是一个简单的示例代码,演示如何使用 PipedOutputStream 和 PipedInputStream 实现 OutputStream 直接写入 InputStream 的功能:
```java
import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
public class OutputStreamToInputStreamExample {
public static void main(String[] args) throws IOException {
// 创建 PipedInputStream 和 PipedOutputStream
PipedOutputStream outputStream = new PipedOutputStream();
PipedInputStream inputStream = new PipedInputStream(outputStream);
// 向 outputStream 写入数据
String message = "Hello, world!";
outputStream.write(message.getBytes());
// 从 inputStream 读取数据
byte[] buffer = new byte[message.length()];
inputStream.read(buffer);
// 输出读取到的数据
System.out.println(new String(buffer));
}
}
```
在这个示例中,我们首先创建了一个 PipedOutputStream 和一个 PipedInputStream,然后向 outputStream 写入了一段数据,最后从 inputStream 读取数据并输出。可以看到,我们成功地实现了 OutputStream 直接写入 InputStream 的功能。