开发者社区> 问答> 正文

如何在Java中将InputStream读取/转换为String?

如果有一个java.io.InputStream对象,应该如何处理该对象并产生一个String?

假设我有一个InputStream包含文本数据的文件,并且想将其转换为String,因此例如可以将其写入日志文件。

InputStream将转换为String最简单的方法是什么?

public String convertStreamToString(InputStream is) {
    // ???
}

展开
收起
问问小秘 2020-01-09 15:28:00 557 0
1 条回答
写回答
取消 提交回答
  • ByteArrayOutputStream result = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int length; while ((length = inputStream.read(buffer)) != -1) { result.write(buffer, 0, length); } return result.toString("UTF-8"); 或者

    final int bufferSize = 1024; final char[] buffer = new char[bufferSize]; final StringBuilder out = new StringBuilder(); Reader in = new InputStreamReader(inputStream, "UTF-8"); for (; ; ) { int rsz = in.read(buffer, 0, buffer.length); if (rsz < 0) break; out.append(buffer, 0, rsz); } return out.toString();

    2020-01-09 15:32:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载