创建一个文件,然后写入无效数据0,比如文件10M。
然后随意seek 也就是移动当前写入指针,范围0-10M的范围,如果移动到结尾了就不能继续往后了
如果是在结尾,则是追加文件内容
如果是在中间,则写入10B的数据,就覆盖10B的数据。
后面的数据是不会自动搬家的。
如果这个问题好解决,windows操作系统就不需要用久了就需要清理磁盘碎片了
windows操作系统的文件内容是分块存放的,实际存储有时候文件是不连续的,通过一些索引序号的措施让你能够连续读取数据。
如果你想要中间插入数据,想想链表的思路吧。
文件是顺序存储,不可能写入不覆盖的,必须自己实现后面数据的搬移。