var fHandle:THandle; begin fHandle := FileOpen(FileName); GetFileSize(fHandle,nil); end;
function c_getFileSize(filename:String):int64; begin Result:=FileSeek(FileOpen(filename,fmOpenRead),0,2); end;
to ehom(?!) : 文件打开后不用关闭吗?
Function F_GetFileSize(as_file:String):integer; var f: file of Byte; Fsize : Longint; begin AssignFile(f,as_file); //as_flie 文件 全路径 Reset(f); Fsize := FileSize(f); CloseFile(f); f_getfilesize := Fsize;end;
谢谢各位!!因为我要获取一大批的文件的大小,请文下面两个函数,哪个效率更高一些?//得到文件大小的函数 //1------------------------------------------------------ function zjs_getFileSize(filename:TFilename):int64; var fs:TFileStream; begin fs:=TFileStream.Create(filename,fmopenread or fmShareDenyWrite); try Result:=fs.Size; finally fs.Free; end; end; //2------------------------------------------------------ function zjs_getFileSize1(filename:TFilename):int64; var hFile:THandle; begin hFile:=fileOpen(filename,fmopenread or fmsharedenywrite); result:=fileseek(hFile,0,soFromEnd); fileclose(hFile); end;
fHandle:THandle;
begin
fHandle := FileOpen(FileName);
GetFileSize(fHandle,nil);
end;
begin
Result:=FileSeek(FileOpen(filename,fmOpenRead),0,2);
end;
var
f: file of Byte;
Fsize : Longint;
begin
AssignFile(f,as_file); //as_flie 文件 全路径
Reset(f);
Fsize := FileSize(f);
CloseFile(f);
f_getfilesize := Fsize;end;
//1------------------------------------------------------
function zjs_getFileSize(filename:TFilename):int64;
var
fs:TFileStream;
begin
fs:=TFileStream.Create(filename,fmopenread or fmShareDenyWrite);
try
Result:=fs.Size;
finally
fs.Free;
end;
end;
//2------------------------------------------------------
function zjs_getFileSize1(filename:TFilename):int64;
var
hFile:THandle;
begin
hFile:=fileOpen(filename,fmopenread or fmsharedenywrite);
result:=fileseek(hFile,0,soFromEnd);
fileclose(hFile);
end;