The filesize listed by adir() means absolutely nothing in this context. The O/S does not update that value which is stored in the directory entry until the file is closed. The disk sectors of actual file can have already committed to disk long before the file is closed.
It means this?
OnOS i can have this:
OSAPI.GetFileSize(filename)<DiskArea(filename)