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

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

问题:如果你有一个 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。

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

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

原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/251594.html

(0)
上一篇 2022年5月3日
下一篇 2022年5月3日

相关推荐

发表回复

登录后才能评论