如何获取一个文件的大小?

nkym0626 2011-07-15 11:03:21
。。
...全文
148 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2011-07-15
  • 打赏
  • 举报
回复

FFile_Handle:THandle;
//FSourceFileName是文件名

FFile_Handle := CreateFile(PChar(FSourceFileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if FFile_Handle = INVALID_HANDLE_VALUE then Exit;
//获取文件尺寸
filesize := GetFileSize(FFile_Handle,nil);
bdmh 2011-07-15
  • 打赏
  • 举报
回复
方法很多,可以用TSearchRec,还可以,用CreateFile,打开文件,然后用GetFileSize获取大小
山东蓝鸟贵薪 2011-07-15
  • 打赏
  • 举报
回复
100分呀,我整理一下代码发给你, 你若要测试的源程序
可以直接联系我
wsxcdx 2011-07-15
  • 打赏
  • 举报
回复
var
F: file of Byte;
 nSize: Longint;
begin
AssignFile(F, 'C:\MyFile.txt');
 Reset(F);
nSize := FileSize(F);
CloseFile(F);
end;
cntigercat 2011-07-15
  • 打赏
  • 举报
回复

//获取文件的大小,单位为字节
function GetFileSize(const FileName: string): integer;
function ReadFromTextFile(const FileName: string): string;
var
Size: integer;
Stream: TStream;
begin
Result := '';
if not FileExists(FileName) then Exit;

Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Size := Stream.Size - Stream.Position;
SetString(Result, nil, Size);
Stream.Read(Pointer(Result)^, Size);
finally
Stream.Free;
end;
end;
var
sTemp: string;
begin
Result := 0;
if not FileExists(FileName) then Exit;

sTemp := ReadFromTextFile(FileName);
Result := Length(sTemp);
end;
天涯倦客 2011-07-15
  • 打赏
  • 举报
回复
AssignFile(f, myfile);
FileSize(f);
山东蓝鸟贵薪 2011-07-15
  • 打赏
  • 举报
回复
//获取文件的大小
function FileLength(Filename:string):integer;
var
fp:file of byte;
begin
AssignFile(fp,Filename);
Reset(fp);
.............
end;
这个就能直接读取文件的大小.........
代码不全,楼主有意与我联系索取完整代码

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧