Delphi でファイル コピーを実装する 3 つの方法
1. API関数を呼び出す
手順 CopyFile(FromFileName,ToFileName:string);
変数
f1、f2:ファイル;
始める
AssignFile(f1,FromFileName); file:// ソースファイル名を指定します。
AssignFile(f2,ToFileName); file:// ターゲットファイル名を指定します。
リセット(f1);
試す
書き換え(f2);
試す
Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0 の場合
それから
Raise EinoutError.creat('ファイル コピー エラー')
ついに
CloseFile(f2); file://Close f2
終わり;
ついに
長さ(sLine)<=0まで;
終わり;
終わり;
2.ファイルストリーム
プロシージャのコピーファイル;
var f1,f2: tfilestream;
始める
f1:=Tfilestream.Create(ソースファイル名,fmopenread);
試す
f2:=Tfilestream.Create(ターゲットファイル名、fmopenwrite または fmcreate);
試す
f2.CopyFrom(f1,f1.size);
ついに
f2.無料。
終わり;
ついに
f1.無料。
終わり;
終わり;
3.メモリブロックを使用してバッファを読み書きする実装
Procudure FileCopy(const Fromfile,Tofile:string);
ヴァール
F1、F2:ファイル;
読み取り数、書き込み数:単語;
Buf: char の配列 [1..2048]。
始める
AssignFile(F1,Fromfile);
リセット(F1,1);
AssignFile(F2,Tofile);
書き換え(F2,1);
繰り返す
BlockRead(F1,buf,sizeof(buf),NumRead);
BlockWrite(F2,buf,Numread,NumWritten);
(NumRead=0) または (NumWritten<>NumRead) まで;
ファイルを閉じる(F1);
ファイルを閉じる(F2);
終わり;