我从一本书中读到一个问题,上面写着“如果操作系统在程序终止后关闭文件,为什么程序员需要手动关闭文件(即调用file.close()
)?”
我能想到的唯一原因是程序可能无法正确终止,因此文件可能仍处于打开状态,因此会消耗系统资源,因为文件保存在缓冲区中。
还有其他原因吗?
编辑:我想到了另一个原因。调用file.close()
强制操作系统将尚未提交到文件的任何更改刷新到磁盘。
我从一本书中读到一个问题,上面写着“如果操作系统在程序终止后关闭文件,为什么程序员需要手动关闭文件(即调用file.close()
)?”
我能想到的唯一原因是程序可能无法正确终止,因此文件可能仍处于打开状态,因此会消耗系统资源,因为文件保存在缓冲区中。
还有其他原因吗?
编辑:我想到了另一个原因。调用file.close()
强制操作系统将尚未提交到文件的任何更改刷新到磁盘。