Java .isDirectory () возвращает true и для файла без расширения - PullRequest
1 голос
/ 06 октября 2011

Я заметил, что при проверке, является ли экземпляр класса File каталогом с методом isDirectory (), этот метод возвращает true также для файла без расширения.

Например, если у меня есть имя файла myfile без exetension, метод isDirectory () возвращает true, есть ли другой метод, который проверяет, действительно ли переданный файл является каталогом?

Я пытаюсь на Windows ...

Ответы [ 3 ]

6 голосов
/ 06 октября 2011

Правильно работает на моем Windows7, JDK 6. Попробуйте обновить JRE / JDK и перепроверьте, если у вас нет каталога с тем же именем.Я использовал этот фрагмент для проверки:

File file = new File("C:\\tomcat\\apache-tomcat-7.0.20\\LICENSE");
System.out.println(file.isDirectory()); // prints false
4 голосов
/ 06 октября 2011

Я пробовал Windows 7 32-битные, 64-битные с JDK 6 и 7, и на обоих из них он работает абсолютно нормально для меня.Вы также не можете найти никаких сообщений об ошибках такого типа, какой код вы используете?Я очень сомневаюсь, что это ошибка, которая до сих пор не обнаружена!

2 голосов
/ 06 октября 2011

Возможно, каталог содержит как файл с расширением, так и каталог с тем же именем, но без расширения.Затем настройте проводник Windows, чтобы скрыть расширение, подумайте, что отображается реальное и полное имя файла, вставьте его в некоторый тестовый код ... Бинго.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...