The normal pattern, in Unix-like systems at least, is to just write to a non-existent file. There is very little reason to create an empty file first.
In Emacs I can even open a file in a non-existent directory and it will create all the containing directories when I try to save. So I rarely even use mkdir.
I kind of disagree? Most files were once created as an empty file! (at least that's the case in my workflow).