FileNotFoundException: создает дочернюю папку вместо файла
Да.Это то, что вы делаете.
Сначала вы создаете с помощью mkdirs () каталог с определенным именем.
После этого вы пытаетесь создать файл с тем же именем, которое невозможно, так как не можетбыть двумя файлами или каталогами с одним и тем же именем.
Так что посмотрите, и вы найдете этот каталог.
Ну, вы уже почти все сами вывели.Теперь попытайтесь понять ваш код.
if (! File.mkdirs ()) {P.rint ("Не удалось создать каталог");
Вы будетевидеть, что напечатано каждый раз, когда вы повторяете код.Вы бы тоже это видели.И сказали нам.
Вы должны вызывать mkdirs, только если каталог еще не существует.