File Size - Get the Size of a File in Bytes using Delphi

The FileSize function returns the size of a file, in bytes -- a useful result for certain file-handing applications within a Delphi program.

Get File Size

The FileSize function returns the size of a file in bytes; the function returns -1 if the file was not found.

// returns file size in bytes or -1 if not found.
function FileSize(fileName : wideString) : Int64;
var
  sr : TSearchRec;
begin
  if FindFirst(fileName, faAnyFile, sr ) = 0 then
     result := Int64(sr.FindData.nFileSizeHigh) shl Int64(32) + Int64(sr.FindData.nFileSizeLow)
  else
     result := -1;
  FindClose(sr);
end;

When you have the size of a file in bytes, you may wish to format the size for display (Kb, Mb, Gb) to assist your end users in comprehending the data without having to convert units.

Delphi tips navigator:
» Get the Application associated with the Shell Print Command for a File Type from Delphi
« Class Helper for Delphi's TStrings: Implemented Add(Variant)