java输出流转输入流
时间: 2023-11-14 22:06:27 浏览: 40
在Java中,可以通过将输出流转化为输入流来实现数据的读取和传输。以下是一种常见的方法:
1. 创建一个ByteArrayOutputStream对象,它可以将输出流中的数据存储到内存中。
```
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
```
2. 将需要输出的数据写入到ByteArrayOutputStream中。
```
outputStream.write("Hello World!".getBytes());
```
3. 创建一个ByteArrayInputStream对象,并将ByteArrayOutputStream中的数据作为其构造函数的参数。
```
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
```
4. 通过读取ByteArrayInputStream中的数据来实现数据的传输和处理。
```
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
}
```
完整代码如下:
```
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
outputStream.write("Hello World!".getBytes());
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
}
}
}
```
输出结果为:
```
Hello World!
```