将InputStream读取/转换为字符串

问题:

如果您有java.io.InputStream对象,则应如何处理该对象并生成String
假设我有一个包含文本数据的InputStream,我想将其转换为String。例如,我可以将流的内容写入日志文件。
采取InputStream并将其转换为String的最简单方法是什么?

public String convertStreamToString(InputStream is) { 
    // ???
}

回答:

一个很好的方法是使用Apache commons IOUtilsInputStream复制到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
String theString = IOUtils.toString(inputStream, encoding); 

或者,如果您不想混合您的Streams和Writer,您可以使用ByteArrayOutputStream

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Read/convert an InputStream to a String

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

17 − = 16