Переместить файлы в папки с одинаковыми именами в Java
У меня есть файлы и папки с одинаковым именем (без символов расширений). Я пытаюсь переместить каждый файл в нужную папку с помощью следующего кода.
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.