Apache commons是一个强大的Java辅助工具包。它提供的IOUtils可以让我们很便捷的实现InputStream转换为String。
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();
首先把inputStream转换为StringWriter,然后使用StringWriter获取字符串。
或者更加简单的方式:
String theString = IOUtils.toString(inputStream, encoding);
注意: 它不会关闭inputStream, 所以为了避免忘了关闭inputstream,建议把它放到try-with-resources里。
java 9方式
java9的inputstream添加了readAllBtes方法,InputStream转String也可以使用:
public static String toString(InputStream input) throws IOException {
return new String(input.readAllBytes(), StandardCharsets.UTF_8);
}