Jon*_*eet 66
flush() 只需确保将任何缓冲的数据写入磁盘(在这种情况下 - 更常见的是,通过您正在使用的任何IO通道刷新).之后您仍然可以写入流(或编写者).
close()刷新数据并指示没有更多数据.它会关闭任何文件句柄,套接字或其他任何东西.然后,您无法再写入流(或编写器).
注意,如果没有将呼叫flush()数据可以仍然被写入有关的IO通道-它只是一些数据可能被缓冲.
close()通常flush()也会调用,但最近有人向我指出,在某些JDK实现中,作为关闭的一部分被刷新抛出的任何异常都被吞噬了:(
Cha*_*har 41
flush()将缓冲区的内容写入目标,并使缓冲区为空,以便存储更多数据,但不会永久关闭流.这意味着您仍然可以向流中写入更多数据.
但close()会永久关闭流.如果要进一步编写一些数据,则必须再次重新打开流并将数据附加到现有数据中.
flush()将缓冲区的内容刷新到目的地。您可以再次将内容写入流中。close()将内容刷新到目的地并关闭流。以后close()再也写不下去了。
| 归档时间: |
|
| 查看次数: |
58638 次 |
| 最近记录: |