输出流转输入流
时间: 2023-09-10 10:05:55 浏览: 169
在Java中,可以使用PipedInputStream和PipedOutputStream来实现输出流转输入流的功能。具体实现步骤如下:
1. 创建PipedOutputStream对象outputStream和PipedInputStream对象inputStream。
```java
PipedOutputStream outputStream = new PipedOutputStream();
PipedInputStream inputStream = new PipedInputStream(outputStream);
```
2. 将需要转换的输出流写入outputStream中。
```java
outputStream.write("Hello World!".getBytes());
```
3. 从inputStream中读取转换后的输入流。
```java
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
}
```
完整的示例代码如下:
```java
import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
public class OutputStreamToInputStream {
public static void main(String[] args) {
try {
PipedOutputStream outputStream = new PipedOutputStream();
PipedInputStream inputStream = new PipedInputStream(outputStream);
outputStream.write("Hello World!".getBytes());
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
}
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
运行该程序,输出结果为:
```
Hello World!
```