Переместить файлы в папки с одинаковыми именами в Java - PullRequest
0 голосов
/ 31 мая 2018

У меня есть файлы и папки с одинаковым именем (без символов расширений).Я пытаюсь переместить все файлы в нужные папки с помощью следующего кода.

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.

...