如何在磁盘上给文件快速预留一大片空间?
比如迅雷下载,下载开始之前会在磁盘上创建一个与下载文件同样大小的空白的原始文件,然后下载过程中去改写这个文件。
我的问题是,在生成这个空白的原始文件时,他是反复调用的WriteFile来写入文件的吗?如果是这样做的,如果文件较大,他无法保证在写这个文件的过程中,系统中有其他进程也向磁盘申请空间,这样还是会造成磁盘碎片问题,该文件的不连续会造成日后对该文件读取的速度降低。
还是他们使用了其他“预留磁盘空间”的API,从而可以真正确保这个原始文件是绝对物理上连续的呢?