网络蚂蚁/FlashGet在下载文件的时候,会创建这个文件的镜像,如果文件很大,例如一个光盘镜像文件ISO,有650M,此时程序就像死机一样,估计程序在不停的写磁盘~~~~~~:),那么如何快速地创建这种超大的文件呢?看下面的代码:
function CreateFileOnDisk ( FileName : string ; Size : Int64 ): Boolean ;
{
在硬盘上面快速创建指定大小的文件
}
var
F : HFILE ;
begin
Result := not FileExists ( FileName );
if Result then
begin
F := FileCreate ( FileName , 0 );
SetFilePointer ( F , Int64Rec ( Size ). Lo , @ Int64Rec ( Size ). Hi , FILE_BEGIN );
SetEndOfFile ( F );
Result := GetLastError = 0 ;
FileClose ( F );
end ;
end ;