发布日期:2018-03-26
在JAVA中,如何读取流(InputStream)然后转换为String?+ 查看更多
在JAVA中,如何读取流(InputStream)然后转换为String?
+ 查看更多
发布日期:2018-03-10 14:30
分类:JAVA
浏览次数:236
在JAVA中,如何读取流(InputStream)然后转换为String?
如果你有java.io.InputStream对象,你该怎样处理该对象把它转化为String?
假设我有个包含文本数据的InputStream,我想将其转换成String类型(例如,我可以将流的内容写入日志文件)。
将InputStream类型转换为String类型的最简单的方法是什么?
public String convertStreamToString(InputStream is) { // ??? }
回答
有个很好的方法是你可以使用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 String theString = IOUtils.toString(inputStream, encoding);要不然,如果你不想把Stream和Writer混起来,则可以使用ByteArrayOutputStream