在Delphi中如何复制文件?主要是通过AssignFile、Reset、Rewrite、BlockRead、Blockwrite、CloseFile等来实现。
AssignFile主要是实现指定外部文件的文件名到文件变量;
BlockRead主要是从无类型文件读出一个或多个记录;
Blockwrite主要是向无类型文件写入一个或多个记录;
CloseFile主要是关闭打开文件;
Reset主要是打开存在的文件。
写一个用例如下
procedure TForm1.Button3Click(Sender: TObject);
var
FromF,ToF:file; //声明无类型的文件对象
NumRead,NumWritten:Integer;
Buf: array[0..2048] of char;//定义缓冲区
begin
AssignFile(FromF,Edit1.Text);
Reset(FromF,1);
AssignFile(ToF,Edit2.Text);
ReWrite(ToF,1);
Edit3.Text := IntToStr(FileSize(FromF))+' 字节';
repeat
BlockRead(FromF,Buf,SizeOf(Buf),NumRead);
BlockWrite(ToF,Buf,NumRead,NumWritten);
until (NumRead = 0) or (NumWritten<>NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
解释一下各个参数:BLOCKREAD(VAR F:FILE;VAR BUF;COUNT:INTEGER;[VAR RESULT:INTEGER]) 第一个是声明的文件变量,2 缓冲区,3读或写的数量,4是可选的,代表实际读取或写入的纪录数