How do I convert an InputStream to a String in Java?
假设我有一个包含文本数据的
把
1 2 3 |
如果您想简单可靠地完成这项工作,我建议使用ApacheJakartaCommons IO库
这是我的版本,
1 2 3 4 5 6 7 8 9 10 | public static String readString(InputStream inputStream) throws IOException { ByteArrayOutputStream into = new ByteArrayOutputStream(); byte[] buf = new byte[4096]; for (int n; 0 < (n = inputStream.read(buf));) { into.write(buf, 0, n); } into.close(); return new String(into.toByteArray(),"UTF-8"); // Or whatever encoding } |
1 |
这里更多
您可以使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line +" "); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } |
完全公开:这是我在kodejava.org上找到的解决方案。我在这里发表评论和评论。