我有两个文件对象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(“\”,“\\”)';但是它无法编译。 –
文件名不可用?那是什么意思? –