Java File.renameTo (Файл) не работает

Я пытаюсь составить список содержимого каталога и переименовать некоторые файлы.

public void run(String dirName) {
    try {
        File parDir = new File(dirName);
        File[] dirContents = parDir.listFiles();

        // Rename if necessary
        for(File f : dirContents) {
            System.out.println("f is:\n" + f.toString());
            String name = f.getName();
            String subbedName = name.replaceAll("\uFFFD", "_");

            System.out.println("\n" + "name = " + name + ", subbedName = " + subbedName + "\n");

            if(!name.equals(subbedName)) {
                File newFile = new File(f.getParentFile(), subbedName);
                System.out.println("newFile is:\n" + newFile.toString());
                if(!f.renameTo(newFile))
                    System.out.println("Tried to change file name but couldn't.");
            }
        }
    }
    catch(Exception exc1) {
        System.out.println("Something happened while listing and renaming directory contents: " + exc1.getMessage());
    }
}

Когда я запускаю это, я получаю & quot;Tried to change file name but couldn't.& Quot; Я неbelieve что Java считает эти файлы «открытыми», так что я не думаю, что в этом причина. Я даже побежалchmod 777 myDir гдеmyDir это значениеdirName строка передается вrun метод.

Что мне здесь не хватает? Почему Java не переименовывает эти файлы? Это машины CentOS.

Edit: Добавлены распечатки для обоихf а такжеnewFile, который заключается в следующем:

f is:
/root/path/to/mydir/test�.txt

newFile is:
/root/path/to/mydir/test_.txt

Ответы на вопрос(3)

Ваш ответ на вопрос