加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:如何将InputStream管道输出到标准输出?

发布时间:2020-12-15 05:04:23 所属栏目:Java 来源:网络整理
导读:有一个简单(因此快速)的方法来实现这一目标吗?基本上只需要一些输入流,可能是类似socket.getInputStream(),并让流的缓冲区自动重定向到标准输出? 解决方法 没有简单的方法可以做到这一点,因为当OutputStream具有推式风格时,InputStream具有拉式接口.您需要
有一个简单(因此快速)的方法来实现这一目标吗?基本上只需要一些输入流,可能是类似socket.getInputStream(),并让流的缓冲区自动重定向到标准输出?

解决方法

没有简单的方法可以做到这一点,因为当OutputStream具有推式风格时,InputStream具有拉式接口.您需要某种抽取循环来从InputStream中提取数据并将它们推送到OutputStream中.像这样的东西(必要时在一个单独的线程中运行):

int size = 0;
byte[] buffer = new byte[1024];
while ((size = in.read(buffer)) != -1) out.write(buffer,size);

它已经在Apache Commons IO中实现为IOUtils.copy()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读