如何在 Java 中读取/将 InputStream 转换为字符串?
技术问答
360 人阅读
|
0 人回复
|
2023-09-11
|
假如你有一个java.io.InputStream如何处理对象并生成对象?String?" b% H% v4 N' B) J$ y
假设我有一个InputStream 包含文本数据,我想把它转换成String,例如,我可以将其写入日志文件。
8 w5 }* E& W. A& r* K% k2 u将 theInputStream转换为 a最简单的方法是String什么?1 L7 a1 H2 |% v
. w- r& ^/ F ~- public String convertStreamToString(InputStream is) / code] P! i) Y( Q& k2 ^, _0 J6 i: K
- 解决方案:
, k6 g- D! v7 L ]4 Y - 一个很好的方法是使用它Apache commons IOUtils将其复制InputStream到StringWriter......类似[code]StringWriter writer = new StringWriter();IOUtils.copy(inputStream,writer,encoding);String theString = writer.toString();
n l# b2 B+ O' F! q4 ? 甚至
; o% u a0 s- A" d// NB: does not close inputStream,you'll have to use try-with-resources for thatString theString = IOUtils.toString(inputStream,encoding); . G5 ?! U; ]! t, x5 P) T
或者,ByteArrayOutputStream如果你不想混合 Streams 和 Writers ,可用 |
|
|
|
|
|