我有兩個文件對象oldFile
和newFile
,我想交換相應的文件名。所以我重命名oldFile
到tmpFile
名字第一。我得到的oldfile的絕對路徑,並追加「.bak的」吧:如何在java中以通用的方式重命名文件?
String tmpFile = oldFile.getAbsolutePath().toString()+".bak";
oldFile.renameTo(new File(tmpFile));
的問題是,TMPFILE包含路徑的原始字符串,而File
類的構造函數對待‘\’作爲escape.So該TMPFILE可能「d:\ oldfile.java.bak」,但是什麼構造需要的是
new File("D:\\oldfile.java.bak");
我該如何處理呢?
換句話說,陳紅旭,你的原創方法沒有問題。 – Will
問題是oldFile的名稱不可用。我遵循Jarrod Roberson的建議'tmpFile = tmpFile.replace(「\」,「\\」)';但是它無法編譯。 –
文件名不可用?那是什麼意思? –