You are saying that options 2 and 3 are VALID but option 1 is VALID as well!
Option 1:
DataOutputStream dos = new DataOutputStream(os);
dos.write(1);
A file of size 4 bytes will be created.
No! A file of size 1 byte will be created!
I am aware that you are going to change you question/answer now and that my response (after you fix your quersion/answer) will look stupid