Как я могу различить файл и папку при переименовании файла / папки в Java

В настоящее время я программирую нормализатор имени файла. Файлы имеют формат, а папки - нет. Когда я переименовываю файл, мне нужно убедиться, что я не влияю на формат, поэтому я сделал

fileName.substring(fileName.lastIndexOf("."),fileName.length) 

таким образом, если я хочу заменить все периоды в fileName это не влияет на формат, когда папка с периодами в своем имени проходит этот процесс, последний экземпляр периода все еще является частью его имени, поэтому он не заменяет все точки в имени папки. Мне нужно знать, как различить файл и папку, чтобы я мог это исправить.

2 ответа

Решение

Ты можешь использовать

someFile.isDirectory();

Он возвращает истину, если файл является папкой, и ложь, если нет.

Ты можешь использовать File.isDirectory() проверить , является ли файл, обозначенный этим абстрактным путем, каталогом. Вы также можете использовать File.isFile() проверить , является ли файл, обозначенный этим абстрактным путем, нормальным файлом. Файл является нормальным, если он не является каталогом и, кроме того, удовлетворяет другим системно-зависимым критериям.

File f = new File(fileName);
if (f.isFile()) {
  // it's a file.
} else if (f.isDirectory()) {
  // it's a directory.
}
Другие вопросы по тегам