现在的位置: 首页 > 综合 > 正文

Delphi 中获取文件大小

2013年08月21日 ⁄ 综合 ⁄ 共 1069字 ⁄ 字号 评论关闭

大概有这些方法可以获得文件大小
FileSizeByName(需要引用IdGlobal单元)
GetFileSize
FileSize(不能获得正在使用的文件大小)
FileSeek
TFileStream.Size

下面是使用例子
1. FileSizeByName(需要引用IdGlobal单元)
begin
 if OpenDialog1.Execute then
   ShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename)));
end;

2. GetFileSize
var
  FileHandle:integer;
begin
  if OpenDialog1.Execute then begin
    FileHandle := FileOpen(OpenDialog1.FileName, 0);
    ShowMessage(IntToStr(GetFileSize(FileHandle, nil)));
    FileClose(FileHandle);
  end;
end;

3. FileSize(不能获得正在使用的文件大小)
var
  f: file;
begin
  if OpenDialog1.Execute then begin
    AssignFile(f, OpenDialog1.FileName);
    Reset(f, 1);
    ShowMessage(IntToStr(FileSize(f)));
    CloseFile(f);
  end;
end;

4. FileSeek
var
  FileHandle:integer;
begin
  if OpenDialog1.Execute then begin
    FileHandle := FileOpen(OpenDialog1.FileName, 0);
    ShowMessage(IntToStr(FileSeek(FileHandle,0,2)));
    FileClose(FileHandle);
  end;
end;

5. TFileStream.Size
var
  FS: TFileStream;
begin
  if OpenDialog1.Execute then begin
    FS := TFileStream.Create(OpenDialog1.FileName, fmShareDenyNone);
    ShowMessage(IntToStr(FS.Size));
    FS.Free;
  end;
end;

另在IdGlobalProtocols中有个FileSizeByName()的函数。

抱歉!评论已关闭.