ouputstream转inputstream
时间: 2023-08-26 07:03:32 浏览: 189
要将一个 `OutputStream` 转换为 `InputStream`,可以使用 `PipedInputStream` 和 `PipedOutputStream`。
以下是一个示例代码:
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
public class OutputStreamToInputStreamExample {
public static void main(String[] args) {
try {
// 创建 PipedInputStream 和 PipedOutputStream 对象
PipedOutputStream pipedOutputStream = new PipedOutputStream();
PipedInputStream pipedInputStream = new PipedInputStream(pipedOutputStream);
// 写入数据到 PipedOutputStream
String data = "Hello, world!";
pipedOutputStream.write(data.getBytes());
// 从 PipedInputStream 读取数据
byte[] buffer = new byte[1024];
int length = pipedInputStream.read(buffer);
String message = new String(buffer, 0, length);
System.out.println("Received message: " + message);
// 关闭流
pipedOutputStream.close();
pipedInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们创建了一个 `PipedOutputStream` 对象 `pipedOutputStream` 和一个 `PipedInputStream` 对象 `pipedInputStream`。我们将 `pipedOutputStream` 写入字符串数据,并通过 `pipedInputStream` 读取数据。最后,我们关闭了流。
注意:使用这种方法进行转换时,必须先写入数据到 `PipedOutputStream`,再从 `PipedInputStream` 读取数据。否则,`PipedInputStream` 中没有数据可供读取,读取操作将阻塞。
阅读全文
相关推荐


