如何在 Java 中读取/将 InputStream 转换为字符串?
技术问答
252 人阅读
|
0 人回复
|
2023-09-11
|
假如你有一个java.io.InputStream如何处理对象并生成对象?String?
% ~0 |: I0 S1 L1 }' ]& B假设我有一个InputStream 包含文本数据,我想把它转换成String,例如,我可以将其写入日志文件。0 d" G3 M. n# e0 {* n3 z
将 theInputStream转换为 a最简单的方法是String什么?
/ u: _0 S- ?9 T6 t+ c5 t0 v
% |% v7 y( Q6 I( X- public String convertStreamToString(InputStream is) / code]
! S# G& D. ?$ J' E - 解决方案:
4 W, X( \: |: o. V5 O6 s; n - 一个很好的方法是使用它Apache commons IOUtils将其复制InputStream到StringWriter......类似[code]StringWriter writer = new StringWriter();IOUtils.copy(inputStream,writer,encoding);String theString = writer.toString();: ]) E0 G) v. } R, q3 o9 }- h0 D
甚至
; [ B5 }% P, M) V+ k( A// NB: does not close inputStream,you'll have to use try-with-resources for thatString theString = IOUtils.toString(inputStream,encoding);
# [/ M5 g6 \# s- ~& [$ J% h 或者,ByteArrayOutputStream如果你不想混合 Streams 和 Writers ,可用 |
|
|
|
|
|