Используйте FileUtils , чтобы справиться со всеми этими головными болями.
Изменить: Например, используйте приведенный ниже код для записи в файл, этот метод будет «проверять и создавать родительский каталог, если он не существует».
openOutputStream(File file [, boolean append])