renameTo()を使用する際に奇妙な問題が発生しました。 /mnt/desttest
に名前を変更できない理由はわかりませんが、/home/kit.ho/desttest
に名前を変更しても問題ありません。しかし、私はすでにすべての書き込み許可を/ mnt /に与えています。特定の理由がないのに戻り値はfalseです。理由は誰が知っていますか?ファイルを別のファイルシステムにリネームする方法は?
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/desttest'でも問題なく使えますか? – Martin
@Mechanical:yes/mntは別のパーティションにあります。 –