如何在 Java 中读取/将 InputStream 转换为字符串?
技术问答
359 人阅读
|
0 人回复
|
2023-09-11
|
假如你有一个java.io.InputStream如何处理对象并生成对象?String?
\$ |/ j0 } p0 D! g# H/ W0 [9 f" \假设我有一个InputStream 包含文本数据,我想把它转换成String,例如,我可以将其写入日志文件。
4 s% X& i- h9 _, F将 theInputStream转换为 a最简单的方法是String什么? S; o0 c7 X/ U4 B" D! d
( m- t. P4 k5 n( @. s! D- public String convertStreamToString(InputStream is) / code] " v; M* {' w0 {, ~4 V( u
- 解决方案:
' O7 |! y$ l$ s G) ?- e9 Y - 一个很好的方法是使用它Apache commons IOUtils将其复制InputStream到StringWriter......类似[code]StringWriter writer = new StringWriter();IOUtils.copy(inputStream,writer,encoding);String theString = writer.toString();
5 C, }$ r/ t$ G9 @4 U 甚至) F8 V, e: @7 v: N" D6 F- O$ K$ _
// NB: does not close inputStream,you'll have to use try-with-resources for thatString theString = IOUtils.toString(inputStream,encoding);
0 I6 c0 T5 b( e1 k$ U- ` 或者,ByteArrayOutputStream如果你不想混合 Streams 和 Writers ,可用 |
|
|
|
|
|