在Java中如何读取/转换InputStream为字符串?

发布时间 2023-10-15 00:16:27作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=在Java中如何读取/转换InputStream为字符串?

如果你有一个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();

甚至是这样

// 注意:不关闭inputStream,您需要使用try-with-resources来处理它
String theString = IOUtils.toString(inputStream, encoding);

或者,如果您不想混合Stream和Writer,可以使用ByteArrayOutputStream