我在使用renameTo()時遇到了一個奇怪的問題。我不知道爲什麼我不能重命名爲/mnt/desttest
,但可以重命名爲/home/kit.ho/desttest
。但是,我已經將每個寫入權限授予/ mnt /。返回值是錯誤的,沒有具體原因。誰知道原因?如何將文件重命名爲其他文件系統?
import java.io.File;
public class renameFile {
public static void main(String[] args) {
File sourceFile = new File("/home/kit.ho/test");
File targetFile1 = new File("/mnt/desttest");
System.out.println("source file is exist? " + sourceFile.exists() + ", source file => " + sourceFile);
System.out.println(targetFile1 + " is exist? " + targetFile1.exists());
System.out.println("rename to " + targetFile1 + " => " + sourceFile.renameTo(targetFile1));
System.out.println("source file is exist? " + sourceFile.exists() + ", source file => " + sourceFile);
}
}
編輯: 最後,基於一些答案,重命名功能不跨文件系統工作,有沒有通過調用像「MV」外部命令對這個問題的任何解決方法嗎?
'/ mnt'是一個單獨的分區嗎? –
你可以'mv /home/kit.ho/test/mnt/stesttest'沒有問題嗎? – Martin
@Mechanical:yes/mnt位於單獨的分區上。 –