Get the Size of a File in Bytes Using Delphi

computer programmers discussing coding

Hero Images/Getty Images

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.