Delphi中实现文件拷贝的三种方法

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

1.调用API函数

procedure CopyFile(FromFileName,ToFileName:string);

var

f1,f2:file;

Begin

AssignFile(f1,FromFileName); //指定源文件名

AssignFile(f2,ToFileName); //指定目标文件名

Reset(f1);

Try

Rewrite(f2);

Try

If Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0

Then

Raise EinoutError.creat('文件复制错误')

Finally

CloseFile(f2); //关闭 f2

End;

Finally

Until length(sLine)<=0;

End;

End;

2.文件流

procedure copyfile;

var f1,f2: tfilestream ;

begin

f1:=Tfilestream.Create(sourcefilename,fmopenread);

try

f2:=Tfilestream.Create(targetfilename,fmopenwrite or fmcreate);

try

f2.CopyFrom(f1,f1.size);

finally

f2.Free;

end;

finally

f1.Free;

end;

end;

3.利用内存块读写buffer实现

Procudure FileCopy(const Fromfile,Tofile:string);

Var

F1,F2:file;

NumRead,Numwritten:word;

Buf:array [1..2048] of char;

Begin

AssignFile(F1,Fromfile);

Reset(F1,1);

AssignFile(F2,Tofile);

Rewrite(F2,1);

Repeat

BlockRead(F1,buf,sizeof(buf),NumRead);

BlockWrite(F2,buf,Numread,NumWritten);

Until (NumRead=0) or (NumWritten<>NumRead);

CloseFile(F1);

CloseFile(F2);

End;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航