当前位置: 首页 > 面试题库 >

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

冉俊德
2023-03-14
问题内容

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

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

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

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


问题答案:

Javadoc说:

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



 类似资料:
  • 对于接受文件输入的APIendpoint,我们需要手动关闭还是框架为我们这样做? 我查了新泽西的文件,但找不到任何关于它的信息。 寻找可靠的来源或某种方式来验证它。

  • 问题内容: 我想知道,在关闭阅读器之后,是否需要关闭InputStream? 问题答案: 不,您不必。 由于Java中用于流的装饰器方法可以通过将新流或读取器附加到其他流上来构建新流或读取器,因此实现将自动对其进行处理。 如果查看其来源,则会看到: 因此,关闭操作实际上关闭了底层的流读取器。 编辑:我想确保关闭也可以在输入流上工作,请继续关注。 签入 在调用sd的close时调用。

  • 问题内容: 假定以下代码,其中“ sock”是TCP套接字的句柄,该句柄先前已使用epfd指定的epoll文件描述符注册。 如果套接字无论如何都要随后关闭,是否仍然需要调用epoll_ctl?还是由于关闭套接字而隐式注销了套接字? 问题答案: 从手册页: Q6 关闭文件描述符会导致它自动从所有epoll集中删除吗? A6 是,但是请注意以下几点。文件描述符是对打开的文件描述的引用(请参阅(2))。

  • 问题内容: 在Go中,当使用SQL数据库时,是否需要在关闭应用程序之前关闭DB()?数据库是否会自动检测到连接已终止? 问题答案: DB将尽其所能进行检测,但是如果没有运气,它可能无法检测到。最好尽快发布所获得的东西。 系统调用将等待TCP连接发送数据,但客户端不会收到任何信息。 发生电源故障,网络问题或裸机退出而没有正确释放资源。TCP keepalive机制将启动,并尝试检测连接已死。 客户端

  • 本文向大家介绍java IO流 之 输入流 InputString()的使用,包括了java IO流 之 输入流 InputString()的使用的使用技巧和注意事项,需要的朋友参考一下 本文主要给大家介绍java的InputStream 流的使用。 (1)FileInputstream: 子类,读取数据的通道   使用步骤:     1.获取目标文件:new File()     2.建立通道:

  • 问题内容: Node,Mongoose和Mongodb的新手-尚未阅读源代码… 我有一个Node应用程序,它将打开一个文件,将行解析为记录并将记录保存到mongodb。记录是Mongoose模型对象,要将它们保存到mongodb中,我要做的就是调用它们上的方法。 所以现在我都担心猫鼬正在管理的联系。我需要手动关闭它吗?如果是这样,我什么时候应该关闭它(由于所有事情都是异步发生的,所以很难说何时关闭