您的位置:首页 > 编程语言 > Delphi

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

2011-11-24 10:42 661 查看
1.调用API函数

procedure CopyFile(FromFileName,ToFileName:string);

var

f1,f2:file;

Begin

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

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

Reset(f1);

Try

Rewrite(f2);

Try

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

Then

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

Finally

CloseFile(f2); file://关闭 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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: