Java 中 OutputStream 转 InputStream 实现方法
在 Java 中,可以通过'ByteArrayOutputStream'和'ByteArrayInputStream'来实现'OutputStream'到'InputStream'的转换。
以下是一个示例代码:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class StreamConversionExample {
public static void main(String[] args) throws IOException {
// 创建一个OutputStream
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
outputStream.write('Hello World!'.getBytes());
// 将OutputStream转换为InputStream
InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
// 读取InputStream中的数据
int data;
while ((data = inputStream.read()) != -1) {
System.out.print((char) data);
}
// 关闭流
outputStream.close();
inputStream.close();
}
}
在上述示例代码中,首先创建了一个'ByteArrayOutputStream',并将字符串'Hello World!'写入其中。然后,通过'toByteArray()'方法将'ByteArrayOutputStream'转换为字节数组,并创建了一个'ByteArrayInputStream'来接收这个字节数组。最后,通过'read()'方法逐个读取'ByteArrayInputStream'中的字节,并将其转换为字符输出。
需要注意的是,在使用完'OutputStream'和'InputStream'后,需要调用'close()'方法来关闭流,释放资源。
原文地址: https://www.cveoy.top/t/topic/qkPX 著作权归作者所有。请勿转载和采集!