У меня есть файлы и папки с одинаковым именем (без символов расширений).Я пытаюсь переместить все файлы в нужные папки с помощью следующего кода.
private static void moveFile() {
File directory = new File(GlobalVariables.DOWNLOAD_FOLDER_ROOT);
File[] allFiles = directory.listFiles();
for (File file : allFiles) {
if (file.isDirectory() == false) {
String filename = file.getName().substring(0, file.getName().indexOf("."));
File newDir = new File(filename);
file.renameTo(new File(newDir.getAbsolutePath() + File.separator + file.getName()));
}
}
}
Я получил сообщение об ошибке, и в структуре файла нет никаких изменений.
java.lang.StringIndexOutOfBoundsException: Строковый индекс выходит за пределы диапазона: -1
Я ищу ту же функциональность, что и for /f %x in ('dir /ad /b') do move %x*.* %x\
команда Windows.