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

在Java中,当我调用OutputStream.close()时,是否总是需要先调用OutputStream.flush()?

呼延明朗
2023-03-14
问题内容

如果仅close()在输出流中调用,则可以保证输出,还是需要flush()始终调用?


问题答案:

Close()始终刷新,因此无需调用。

编辑:这个答案是基于常识和我遇到的所有输出流。谁将为缓冲流实现close()而不先刷新缓冲区?在close()之前立即调用flush没有什么害处。但是,如果过度调用flush()会导致后果。它可能会在缓冲机制下失败。



 类似资料:
  • 问题内容: 会隐式调用吗? 如果可以,可以安全删除下面的代码片段吗? ps。我在官方文件中看不到任何描述: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html https://docs.oracle.com/javase/8/docs/api/java/lang/Au​​toClose

  • 问题内容: 在创建iOS应用时,我确切地知道何时需要致电?我知道这与更新/重绘UI有关。但是,每次更改任何视图时,都需要调用此名称吗? 例如,我需要调用它吗: 以编程方式更改文本字段中的文本之后 更改视图背景时? 当我在viewDidLoad中进行更改时? 在viewDidAppear中怎么样? 有人可以给我一些有关何时使用此方法的一般指导吗? 问题答案: 如果您在UIView的子类中重写draw

  • React是否在每次调用时重新呈现所有组件和子组件? 如果是,为什么?我认为这个想法是,当状态改变时,只会根据需要提供少量的反应。 我希望只有在数据发生更改时才会出现呈现。 下面是示例的代码,作为JS Fiddle和嵌入的代码片段:

  • 问题内容: 我有一个非常简单的文件: 而且有效。 但是,当我删除元素时,应用程序看不到实体(所有类都带有注释)。 是否有自动扫描类的机制? 问题答案: 你可以使用 该文件定义了一个名为的持久性单元,它使用JTA感知数据源。所述和元素指定管持久类:实体类,可嵌入类和超类映射。该元素指定JAR文件都包含持久化类管理的打包持久单元可见,而该class元素明确命名持久化类管理。 对于,也可以进行设置和配置

  • 我将firebase添加到我的android项目中,以使用firebase云消息传递。我按照文档进行了操作,但没有找到调用的任何说明。 我的应用程序工作很好,除了有一次它崩溃了以下错误。 当我搜索错误时,给出的解决方案是在启动时调用。 我想知道这是否真的有必要,因为文档没有提到它,我的应用程序在没有它的情况下工作(大部分)很好。 有人知道调用是否真的有必要,还有什么可能导致我上面提到的错误吗? 下

  • Win32程序通常有一个消息循环,循环调用GetMessage或PeekMessage,然后调用DispatchMessage将消息分派到相关窗口的窗口进程。 但是,真的有必要这样做吗?我是否可以直接在消息循环中查看 MSG 对象,并在其中执行所需的操作,而无需调用 DispatchMessage?我说的是我有一个窗口没有其他窗口控件的情况,例如,如果该窗口仅用作direct3d显示窗口,则消息将