首页  编辑  

快速创建一个超大的临时文件

Tags: /超级猛料/Stream.File.流、文件和目录/文件操作/   Date Created:

网络蚂蚁/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 ;