我将使用apache commons方法:IOUtils.toString(InputStream, "UTF-8");
我应该手动关闭传递InputStream
还是库足够聪明才能关注它?
答案 0 :(得分:1)
正如@Puce和@RatshiḓahoWayne指出的那样, javadoc中没有任何内容表明您传递给toString()方法的输入流将被API关闭。
API关闭已经传递的用于将字节流转换为字符串的流是没有意义的,因为如果它支持reset
,则应用程序可以在其他地方重新读取该流。
以下是供您参考的文档。
public static String toString(InputStream input,
Charset encoding)
throws IOException
使用指定的String获取InputStream的内容作为String 字符编码。
此方法在内部缓冲输入,因此无需使用 的BufferedInputStream。