В моем приложении Java я переименовываю файлы в имя файла, представленное в параметре String. Существует метод
boolean OKtoRename(String oldName, String newName)
который в основном проверяет, не является ли newName еще не каким-то другим файлом, так как я бы не захотел похоронить существующие.
Теперь мне пришло в голову, что, возможно, newName String не будет обозначать допустимое имя файла. Поэтому я решил добавить эту проверку к методу:
if (new File(newName).isFile()) {
return false;
}
Очевидно, что это неправильный способ сделать это, так как в большинстве случаев newFile еще не существует и поэтому, хотя это OKtoRename, функция возвращает false.
Мне было интересно, есть ли метод (я знаю, что нет для объектов java.io.File), например canExist()
? Или мне придется прибегать к регулярному выражению, чтобы убедиться, что newFile String не содержит недопустимых символов (например?, *, ",:)? Интересно, есть ли какая-то функция, скрытая где-то в JDK, которая скажет мне, если строка может означать действительное имя файла.