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

Java 在使用commons io的IOUtils.toString(输入)后,是否需要手动关闭输入流?,java,io,apache-commons-io,Java,Io,Apache Commons Io,具有IOUtils.toString(inputStream)方法,可以从输入流读取所有内容: InputStream input = getInputStream(); String content = IOUtils.toString(input); 我的问题是,我应该在使用输入流后手动关闭它吗 我认为IOUtils可能会关闭它,因为它已经阅读了所有内容,但我在源代码中找不到它。说: 只要可能,此类中的方法不会刷新或关闭流。这是为了避免对流的起源和进一步使用做出不可移植的假设。因此,调用方

具有
IOUtils.toString(inputStream)
方法,可以从输入流读取所有内容:

InputStream input = getInputStream();
String content = IOUtils.toString(input);
我的问题是,我应该在使用输入流后手动关闭它吗

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

说:

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


如果在源代码中找不到它,这不是一个很强的指示吗?对于文件,使用FileUtils.readFileToString(),它使用IOUtils,但也关闭流。这是基于流的库的传统模式。客户端应该处理它。谢谢,但是我发现当我通过
IOUtils.toString
读取内容时,我不需要对输入流执行其他操作,除了关闭它…对于文件,可以使用FileUtils.readFileToString()关闭流