程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中實現文件拷貝的三種方法

Delphi中實現文件拷貝的三種方法

編輯:Delphi
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;

<!-- #EndEditable -->
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved