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