Right now, getOutput() will perform sanity checks for the requested output file, however, if everything is okay it will merely call file.createNewFile() before returning a FileOutputStream for it.
It does however not create any missing parent directories.
Perhaps it should?