У вас есть ответы, но я думал так:
Запрос на добавление нового метода File.renameTo (File src, File destination, int makeDirs)
с тремя константами для makeDirs:
1) не делайте подпапки (s) / dirs
2) создайте последнюю папку только в том случае, если она не существует, то есть, если вы укажете /r1/r2/r3/file.extn, то создайте r3 только в том случае, если она не существует, если r2 или любой другой не существует, верните false.
3) сделать все возможное sub dirs
- если это ОС, у которой нет подпапок, делайте так, как сейчас
- старый метод останется без изменений