问题

如果您有一个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'll have to use try-with-resources for that
String theString = IOUtils.toString(inputStream, encoding); 
 

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

  相同标签的其他问题

javastringiostreaminputstream