我应该关闭传递给IOUtils的InputStream吗?

时间:2014-09-25 12:42:14

标签: java io apache-commons apache-commons-io

我将使用apache commons方法:IOUtils.toString(InputStream, "UTF-8");

我应该手动关闭传递InputStream还是库足够聪明才能关注它?

1 个答案:

答案 0 :(得分:1)

正如@Puce和@RatshiḓahoWayne指出的那样, javadoc中没有任何内容表明您传递给toString()方法的输入流将被API关闭。

API关闭已经传递的用于将字节流转换为字符串的流是没有意义的,因为如果它支持reset,则应用程序可以在其他地方重新读取该流。

以下是供您参考的文档。

public static String toString(InputStream input,
              Charset encoding)
                       throws IOException 
  

使用指定的String获取InputStream的内容作为String   字符编码。

     

此方法在内部缓冲输入,因此无需使用   的BufferedInputStream。