在使用commons io的IOUtils.toString(input)后,我是否需要手动关闭输入流



Commons IO有一个IOUtils.toString(inputStream)方法,它可以读取输入流中的所有内容:

InputStream input = getInputStream();
String content = IOUtils.toString(input);

我的问题是,我应该在使用输入流后手动关闭它吗?

我以为IOUtils可能会关闭它,因为它已经读取了所有内容,但我在源代码中找不到。

javadoc说:

只要可能,这个类中的方法都不会刷新或关闭流。这是为了避免对流的来源和进一步使用做出不可移植的假设。因此,调用方仍然负责在使用后关闭流。

是的,InputStream现在是可自动关闭的,因此您可以执行:

try(InputStream input = getInputStream()) 

相关内容

  • 没有找到相关文章

最新更新