Delphi 获得文件大小的五种方法

Delphi 获得文件大小的方法 大概有这些:

  •   FileSizeByName(需要引用IdGlobal单元 ,XE版本已取消) 
  •   GetFileSize (use Windows ,仅支持windows
  •   FileSize(不能获得正在使用的文件大小) 
  •   FileSeek 
  •   TFileStream.Size 


使用例子 :
1、FileSizeByName(需要引用IdGlobal单元,XE版本已取消) 

1
2
3
4
if OpenDialog1.Execute then
begin
  ShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename)));
end;

2、GetFileSize (use Windows ,仅支持windows

1
2
3
4
5
6
7
8
9
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(不能获得正在使用的文件大小) 

1
2
3
4
5
6
7
8
9
10
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 

1
2
3
4
5
6
7
8
9
10
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 

1
2
3
4
5
6
7
8
9
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()的函数。

 

 

创建时间:2015-05-01  更新时间:2020.01.02、2022.08.25

来源于:https://www.cnblogs.com/guorongtao/p/4470185.html

posted on   滔Roy  阅读(2795)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报

导航

点击右上角即可分享
微信分享提示