读取或者把一个 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
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/251594.html