File size setting

There is a file in my Unix Server whose size will be constant.
But every day when the sheduled jobs run in the server, that file gets updated but the size does not change.
Upon doing file filename
It is dispalyed as a binary file.

Can anyone please explain how that file is created.
How is memory alloted for the file at first itself.

The same file after many months of job run will not get updated.
Then a new fie has to be created.

Thanks In Advance

There is nothing that special with your file. A program (or you) can write at any offset in a file. It isn't required to append at the end of it. Data is probably overwriten unless that file is also a sparse file in which case only the block containing data are actually stored on the disk.
One way to detect sparse files is when their displayed size (ls -l) is larger than the number of blocks used by them (ls -s) x 512, at least when the filesystem doesn't perform data compression.

Thank You Very Much for the quick help.
As I am new to Unix this helped me a lot.
The data in the file is not overwritten(according to the jobs it must not be);So that must be sparse file.
Can you explain how to find sparse files in the unix server.

Once again Thank you very much

You can have a non sparse file filled with nulls with which no (useful) data would be overwritten.

There is no simple way to detect sparse files outside the one I already described.