内容来自 DOC https://q.houxu6.top/?s=在Java中如何读取/转换InputStream为字符串?
如果你有一个java.io.InputStream
对象,你应该如何处理该对象并生成一个String
?
假设我有一个包含文本数据的InputStream
,我想将其转换为String
,以便例如将其写入日志文件。
将InputStream
转换为String
的最简单方法是什么?
public String convertStreamToString(InputStream is) {
// ???
}
一种好的方法是使用Apache Commons的IOUtils
将InputStream
复制到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
。