我希望能夠重命名文件夾列表以刪除不需要的字符(例如,點和雙倍空間必須成爲一個空格)。File.renameTo()沒有任何效果
一旦點擊了Gui中的一個按鈕,就會看到一個正確格式化名稱的消息框出現,表明格式設置正確並且函數被調用。 當我查看我創建的測試文件夾時,名稱不會更改(即使刷新後也不會更改)。使用硬編碼的字符串也不起作用。
我在忽略什麼?
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);
}
}
}
我認爲你需要刪除舊文件並創建新文件。 – kosa
在[javadoc](http://docs.oracle.com/javase/7/docs/api/java/io/File.html#renameTo%28java.io.File%29)中:*請注意,「文件'類定義了'move'方法移動或重命名一個平臺獨立的方式文件* – assylias
我看着它在谷歌,我發現下面的代碼數次: '文件f =新的文件(」 Rename.java〜「); f.renameTo(新文件(「junk.dat」));' 除此之外沒有其他任何東西,你的意思是不贊成這樣做嗎? –