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

2023-12-31

有没有一种简单(因此快速)的方法来实现这一点?基本上只需要一些输入流,可能类似于socket.getInputStream(),并让流的缓冲区自动重定向到标准输出?


没有简单的方法可以做到这一点,因为InputStream有一个拉式界面,当OutputStream有一种推式的。您需要某种泵循环来从中提取数据InputStream并将他们推入OutputStream。像这样的东西(如果需要,在单独的线程中运行它):

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:如何通过管道将InputStream传输到标准输出? 的相关文章

随机推荐