使用Open打开一个文本文件,在不主动调用file.Close()
时,也没有写到defer
中,就是代码没有关闭这一步操作.并且一直在写入文件内容
当程序退出时(正常退出,或者遇到异常非正常退出),那个打开的文件会发生什么?
会丢失部分写入的数据吗? 或者文件损坏或者其他?
使用Open打开一个文本文件,在不主动调用file.Close()
时,也没有写到defer
中,就是代码没有关闭这一步操作.并且一直在写入文件内容
当程序退出时(正常退出,或者遇到异常非正常退出),那个打开的文件会发生什么?
会丢失部分写入的数据吗? 或者文件损坏或者其他?
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答930 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
进程退出时操作系统会回收给进程的所有资源。
丢不丢失数据要看你有没有手动调用
Flush
方法一般来说
Write
是写入缓冲区,Flush
才是罗盘一般情况下请手动调用
file.Close()
,不然你进程不结束,一直占着