如何在 Java 中读取/将 InputStream 转换为字符串?
技术问答
308 人阅读
|
0 人回复
|
2023-09-11
|
假如你有一个java.io.InputStream如何处理对象并生成对象?String?+ T2 r( T( K( S3 g2 @ p7 g
假设我有一个InputStream 包含文本数据,我想把它转换成String,例如,我可以将其写入日志文件。
. Y! J- h. Q3 ^4 E将 theInputStream转换为 a最简单的方法是String什么?0 {/ i# Z: u! x: g* v& t0 c0 n: S
5 d6 G- G" N7 j* S! P
- public String convertStreamToString(InputStream is) / code] ' m; e, E- R% ~$ y) z9 E* [
- 解决方案: : V% V$ I( P4 J9 [- R
- 一个很好的方法是使用它Apache commons IOUtils将其复制InputStream到StringWriter......类似[code]StringWriter writer = new StringWriter();IOUtils.copy(inputStream,writer,encoding);String theString = writer.toString();& u7 f& a- ]5 V
甚至; T: |- O# V- g2 o3 T1 L. @& {
// NB: does not close inputStream,you'll have to use try-with-resources for thatString theString = IOUtils.toString(inputStream,encoding); 7 D2 {7 l& m) o. C
或者,ByteArrayOutputStream如果你不想混合 Streams 和 Writers ,可用 |
|
|
|
|
|