java – File. Renameto() has no effect

I want to be able to rename the folder list to remove unnecessary characters (for example, dots and double spaces must become a single space)

When you click the button in the GUI, you will see a message box with a properly formatted name indicating that the function was properly formatted and called When I view the test folder I created, the name does not change (even after refresh) Using hard - coded strings doesn't work either

What am I overlooking?

public void cleanFormat() {
    for (int i = 0; i < directories.size(); i++) {
        File currentDirectory = directories.get(i);
        for (File currentFile : currentDirectory.listFiles()) {
            String formattedName = "";
            formattedName = currentFile.getName().replace("."," ");
            formattedName = formattedName.replace("  "," ");
            currentFile.renameTo(new File(formattedName));
            JOptionPane.showMessageDialog(null,formattedName);
        }
    }
}

Solution

For future browsers: This was fixed by comments from assylias You will find the final code to fix it below

public void cleanFormat() {
    for (int i = 0; i < directories.size(); i++) {
        File currentDirectory = directories.get(i);
        for (File currentFile : currentDirectory.listFiles()) {
            String formattedName = "";
            formattedName = currentFile.getName().replace("."," ");
            Path source = currentFile.toPath();
            try {
                Files.move(source,source.resolveSibling(formattedName));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>