使用 Apache commons IOUtils库将InputStream 转化成 String

读取或者把一个 InputStream 转成一个 String?这也是Stack Overflow 上被点赞最多的一个问题。国内还没有相关的原文翻译,我这里翻译一下,帮助还没有掌握相关知识的网友!

更多精彩内容请看 web前端中文站
www.lisa33xiaoq.net 可按Ctrl + D 进行收藏

问题:如果你有一个 java.io.InputStream 对象,如处理这个对象并生成一个字符串?

假定我有一个 InputStream 对象,它包含文本数据,我希望将它转化成一个字符串(例如,这样我可以将流的内容写到一个log文件中)。

InputStream 转化成 String 最简单方法是什么?

最佳答案:

使用 Apache commons IOUtils库来拷贝InputStream到StringWriter是一种不错的方式,类似这样:

 StringWriter writer = new StringWriter(); 
 IOUtils.copy(inputStream, writer, encoding); 
 String theString = writer.toString();

或者

 // NB: does not close inputStream, you can use IOUtils.closeQuietly for that 
 // 注意:不关闭inputStream,你可以使用 
 IOUtils.closeQuietly String theString = IOUtils.toString(inputStream, encoding);

甚至,如果不想混合Stream和Writer,可以使用 ByteArrayOutputStream。

【注:本文源自网络文章资源,由站长整理发布】

0
如无特殊说明,文章均为原作者原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!
发表我的评论

Hi,请填写昵称和邮箱!

取消评论
代码 贴图 加粗 链接 删除线 签到