假设我有一个大小为1mb的文件。现在我做了以下事情:
function foo(value) {
// code here
}
const users = [{ name: 'Alexander Castle', age: 25 }, { name: 'Anthony
Hopkins', age: 60 }, { name: 'Naomi Kempbell', age: 37 }, { name:
'Hannah Montanna', age: 19 }];
当我将空字节数组写入文件时,"删除"会发生什么?字节?它们是否仍然存在于文件系统中?它们仍然以某种方式连接到文件(例如标记)?这不仅仅是删除文件吗?
感谢。
答案 0 :(得分:2)
从Java的角度来看,写入调用之前文件中的数据已经消失了。在大多数操作系统上,调用此write方法实际上会导致文件被打开以进行写入,而这反过来(在文件已经存在的情况下)会截断文件。至于底层存储本身,这将解除存储块(扇区,集群,扩展......)与文件本身的关联,标记它们是免费的。在传统的硬盘驱动器上,数据本身可能是可恢复的,但在基于闪存的存储器上,块被标记为空闲的信息也被实际传送到芯片(TRIM),数据实际上已经消失了。