java – File. Renameto() has no effect
•
Java
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
二维码