从InputStream读取文本。

28 浏览
0 Comments

从InputStream读取文本。

This question already has answers here:

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

如果我有一个java.io.InputStream,那么将整个流读取为字符串(假设使用utf-8)的最简单方法是什么?

这应该很容易,但我大部分使用的是C#,谷歌并没有给我提供有用的信息。谢谢。

admin 更改状态以发布 2023年5月20日
0
0 Comments

请指定字符编码。不要使用BufferedReader浪费代码,引入错误并减缓执行速度。

以下是一个示例。您可以使用缓冲区大小、编码等对其进行参数化。

static String readString(InputStream is) throws IOException {
  char[] buf = new char[2048];
  Reader r = new InputStreamReader(is, "UTF-8");
  StringBuilder s = new StringBuilder();
  while (true) {
    int n = r.read(buf);
    if (n < 0)
      break;
    s.append(buf, 0, n);
  }
  return s.toString();
}

0
0 Comments

根据您对许可证的接受程度,使用Jakarta-Commons IO库可以轻松实现一行代码

0