如果我不关闭流,可能会发生哪些不好的事情?
关闭操作会自动刷新吗?
程序退出后所有的流都关闭了吗?
提前致谢。
如果您不关闭流,可能会发生不好的事情:
- 你可能会用完文件句柄
- 您认为写入磁盘的数据可能仍在缓冲区中(仅)
- 文件可能仍被其他进程锁定(取决于平台)
- ...
是的,关闭操作总是刷新流。
操作系统知道的所有文件句柄都被关闭。这实际上意味着FileOutputStream
, FileInputStream
和一个的输入/输出Socket
将被关闭。但是如果你包装一个FileOutputStream
in a BufferedOutputStream
然后BufferedOutputStream
will not操作系统已知并且won't关闭时关闭/冲洗。所以数据写入BufferedOutputStream
但还没有冲到FileOutputStream
可能会丢失。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)