OutputStream 怎么 转换成 InputStream?

chyihill 2003-04-07 10:17:16
rt
...全文
171 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
徐蕴 2003-04-07
  • 打赏
  • 举报
回复
用创建OutputStream的同样方法创建InputStream
jsyx 2003-04-07
  • 打赏
  • 举报
回复
ByteArrayOutputStream bo=new ByteArrayOutputStream()
DataOutputStream o=new DataOutputStream(new ArrayOutputStream());
o.writeByte(1);

byte[] ba=bo.toByteArray()

InputStream in=new ByteInputStream(ba);
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在Java编程中,有时会遇到需要将已写入数据的OutputStream转换为InputStream的情况,比如在网络传输或处理内存中临时数据时。本文将探讨如何实现这种转换,并通过代码示例进行说明。要实现这一转换,需先了解OutputStreamInputStream这两个Java.io包下的基础I/O类。OutputStream用于将数据写入目标,而InputStream用于从源读取数据,它们有多种子类来处理不同类型的输入输出操作,如FileOutputStream和FileInputStream用于文件操作,SocketOutputStream和SocketInputStream用于网络通信等。转换的关键是创建一个临时数据存储区,如内存中的ByteArrayOutputStream,然后将其转换为ByteArrayInputStream。ByteArrayOutputStream可将数据写入字节数组,ByteArrayInputStream则能从该字节数组读取数据。以下是实现转换的代码示例: 在该示例中,先创建ByteArrayOutputStream实例out,写入字符串"Hello, World!",然后通过convertOutputStreamToInputStream方法将out转换为InputStream,命名为in,从in中读取数据并打印,恢复了原始写入的数据。需注意,此转换方法仅适用于OutputStream是ByteArrayOutputStream的情况。若OutputStream是其他类型,如FileOutputStream,则不能直接转换,因为它们与字节数组无直接关联,需先将内容刷新到目标,再创建新的InputStream读取。另外,PipedOutputSt

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧