5
我試圖爲我的錄音機創建一個文件,但這個文件不斷得到一個隨機的名字。因爲這很難處理,所以我想在使用更有意義的名稱創建文件之後重命名該文件。File.renameTo()返回true,但文件沒有被重命名
但是,即使renameTo
返回true,該文件還沒有被重命名。
我在這裏做錯了什麼?
outfile = File.createTempFile(amount + "_alarmsave", ".3gp",
storageDir);
System.out.println("Old file: "+outfile.getAbsolutePath());
File newFile = new File(outfile.getParent(), "alarmsave_" + amount + ".3gp");
System.out.println("new file: "+newFile.getAbsolutePath());
if(outfile.renameTo(newFile)){
System.out.println("Succes! Name changed to: " + outfile.getName());
}else{
System.out.println("failed");
}
的logcat的輸出:
01-13 18:27:40.264: I/System.out(22913): Old file: /mnt/sdcard/Personal Alarm/13_alarmsave1623959934.3gp
01-13 18:27:40.264: I/System.out(22913): new file: /mnt/sdcard/Personal Alarm/alarmsave_13.3gp
01-13 18:27:40.284: I/System.out(22913): Succes! Name changed to: 13_alarmsave1623959934.3gp
那......嗯。食物的思想。奇怪的是,對象本身的名稱不會改變。你是對的,但名字在文件系統本身上確實發生了變化。非常感謝! – 2012-01-13 17:52:40
那麼,我該如何更改實際文件的名稱。我在打印新文件路徑時得到了相同的行爲,但我得到新路徑,但文件的名稱沒有更改?有任何想法嗎 ? – 2014-07-29 22:25:54
'renameTo'更改實際文件的名稱。它不會更改File對象的名稱。 – Joni 2014-07-30 10:53:57