我正在使用FileWriter写入文件,并注意到即使我删除了文件(进程外),FileWriter也不会抛出任何异常。
这是正常的吗?
答案 0 :(得分:15)
这取决于您的操作系统:
答案 1 :(得分:1)
是的,这很正常。使用大多数传统的I / O方式,如果文件不存在,它会为您创建。这当然是等待你在开始写之前将其删除。
答案 2 :(得分:0)
文件可以出现在多个位置(带有硬链接)删除文件会删除其中一个硬链接(可能是唯一的)如果其他地方有链接,则该文件仍可访问。
删除但打开的文件会继续占用磁盘空间,如果足够大可能意味着您使用的空间和磁盘上可以找到的所有文件的大小不同。
顺便说一句:如果您查看/proc/{pid}/fd/{fid}