Java使用IOUtils转换InputStream为String

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

版权声明:著作权归作者所有。

相关推荐

Java 8 转换Stream为数组

Stream转换为数组最简单的方法是使用toArray(IntFunction<A[]> generator)Stream<String> streamString = Stream.of("a", "b", "c");String[] stringArray = streamString.toArray(String[]::new);String[]:new会接收Stre

Java转换List为JSON格式

使用GSON可以很简单实现list转换为json格式。添加依赖<dependencies> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version

Java8使用Lambda把List转换为Map

使用Java8的Collections可以很简便地把List转换为Map以User为例List里的User名字唯一Map<String, User> result =     users.stream().collect(Collectors.toMap(User::getName,   &nbs