Edit file name method - run time complexity
Hello and Welcome to Code Review. The runtime complexity in terms of reading characters (n files * m characters) for substitution cannot be improved, you can use the String replace(char oldChar, char newChar) method:

String childName = file.getName();
String childNameNew = "";
for (int i = 0; i &lt; childName.length(); i++) {
    if (childName.charAt(i) == ' ') {
        childNameNew += "-";
    } else {
        childNameNew += childName.charAt(i);
    }
}


You can substitute your block with one line: 

String childNameNew = childName.replace(' ', '-');


From Java 7 it is discouraged using File renameTo method, you can use from class Files the move method and you can write the mv file part of your code in this way:

// Calculate oldPath and newPath for your file with Paths.get method
try {
    Files.move(oldPath, newPath, StandardCopyOption.REPLACE_EXISTING);  
    System.out.println(oldPath + " File moved successfully to " + newPath);
} catch (IOException e) {
    System.out.println(oldPath + " Failed moved the file to " + newPath);   
}