in reply to Questions about efficiency

It heavily depend on your constraints...
By example :
For small files 3) would be the best for me.
For huge file or when you're not sure about the file size 2) is the most secure...
To be honest I think that your method 1) is only a subcase of method 2)...(But I may miss something)