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

delphi中如何实现文件的拷贝?

2017-03-30 15:49 519 查看
{文件流方式.}

Procedure FileCopy( Const sourcefilename, targetfilename: String );

Var

S, T: TFileStream;

Begin

S := TFileStream.Create( sourcefilename, fmOpenRead );

try

T := TFileStream.Create( targetfilename,

fmOpenWrite or fmCreate );

try

T.CopyFrom(S, S.Size ) ;

finally

T.Free;

end;

finally

S.Free;

end;

End;

{内存块读/写.}

procedure FileCopy(const FromFile, ToFile: string);

var

FromF, ToF: file;

NumRead, NumWritten: Word;

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

begin

AssignFile(FromF, FromFile);

Reset(FromF, 1); { Record size = 1 }

AssignFile(ToF, ToFile); { Open output file }

Rewrite(ToF, 1); { Record size = 1 }

repeat

BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

BlockWrite(ToF, Buf, NumRead, NumWritten);

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

CloseFile(FromF);

CloseFile(ToF);

end;

{用 LZCopy, LZExpand.}

procedure CopyFile(FromFileName, ToFileName: string);

var

FromFile, ToFile: File;

begin

AssignFile(FromFile, FromFileName); { Assign FromFile to FromFileName }

AssignFile(ToFile, ToFileName); { Assign ToFile to ToFileName }

Reset(FromFile); { Open file for input }

try

Rewrite(ToFile); { Create file for output }

try

{ copy the file an if a negative value is returned }

{ raise an exception }

if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle) < 0

then

raise EInOutError.Create('Error using LZCopy')

finally

CloseFile(ToFile); { Close ToFile }

end;

finally

CloseFile(FromFile); { Close FromFile }

end;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  delphi 文件拷贝