为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确使用PipedInputStream和PipedOutputStream?

如何正确使用PipedInputStream和PipedOutputStream?

跃然一笑 2019-03-13 13:09:51
使用Apache Common Execs库封装AbstractCommonExecs测试类是GbkCommonExecs完整代码参考 笔记: http://segmentfault.com/n/1330000004289920为什么执行GbkCommonExecs没有输出(可能死锁了)贴上相关截图如果把PipedInputStream和PipedOutputStream的方式换掉,换成ByteArrayOutputStream的方式,就能够正常输出,参考笔记代码的注释代码。应该怎么使用PipedInputStream和PipedOutputStream使得我能够每行读取标准输出并做解析,解析到我需要的内容。UPDATE:这个AbstractCommonExecs并不能获得脚本的错误输出,比如创建一个文件夹两次,第二次应该会提示类似目录已存在的错误,但是封装后的代码只能看到apache common execs的异常堆栈:UPDATE:尝试了LogOutputStream的方式,参考下面的答案,但是避免不了出现字符编码的问题。ApacheCommonExec.java,https://gist.github.com/cb372/2224509直接跑这样的代码就可以知道了。UPDATE:找到一个可以替代的库,https://github.com/zeroturnaround/zt-exec从描述来看处理不少windows下遇到的问题,如参数为空的问题,编码的问题。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 660 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号