Следующий код показывает проблему, с которой я столкнулся:
// Assume working directory is empty.
File foo = new File("asdf");
foo.createNewFile(); // returns true, creates file "asdf" in working directory.
File bar = new File("asdf");
bar.mkdir(); // returns false
Когда я пытаюсь создать каталог с тем же именем, что и у уже существующего файла, функция «mkdir()» возвращает false. Аналогичная проблема возникает, когда операции выполняются в обратном порядке; когда каталог создается первым, функция createNewFile() возвращает false.
Я понимаю, что когда второй объект «Файл» инициализируется, он «находит» файл, созданный в предыдущей строке, поэтому «bar.exists() && bar.isFile()» истинно.
Пожалуйста, кто-нибудь может подробно рассказать, как я могу создать файл с тем же именем, что и у существующей папки, и наоборот.
Спасибо, Харри