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

Fre*_*ind 26 java io apache-commons-io

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

InputStream input = getInputStream();
String content = IOUtils.toString(input);
Run Code Online (Sandbox Code Playgroud)

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

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

JB *_*zet 31

javadoc说:

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

  • 谢谢,但是我发现当我通过`IOUtils.toString`读取内容时,我不需要对输入流做其他操作,除了关闭它...... (2认同)
  • 对于文件,您可以使用FileUtils.readFileToString()来关闭流 (2认同)