Java使用IOUtils转换InputStream为String

时间:2022-06-01 21:42:33

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);
}