[編集]クラスrenameTo()
のメソッドでファイルの名前を変更できませんでした。File
さて、検索して、同じことを説明する質問を見つけました
また、次のような Java Doc を読みましたrenameTo()
。
このメソッドの動作の多くの側面は、本質的にプラットフォームに依存します。名前変更操作は、あるファイルシステムから別のファイルシステムにファイルを移動できない可能性があり、アトミックではない可能性があり、宛先の抽象パス名を持つファイルの場合は成功しない可能性があります。もう存在している。名前変更操作が成功したことを確認するために、戻り値を常にチェックする必要があります。
renameTo()
さて、メソッドがプラットフォームに依存 することは理解しています。
次に、オブジェクトを作成してメソッドFileOutputStream
を呼び出しました。メソッドを試してみると、ファイルの名前が変更されました。close()
renameTo()
質問:
- メソッドのオブジェクトを作成
FileOutputStream
した後に機能した理由を理解できませんでしたか?renameTo()
環境: Windows XP、ユーザー: 管理者
コード:
File f = null;
File f1 = null;
boolean isFileRenamed = false;
try {
// create new File objects
f = new File("C:\\originalFile.txt");
f1 = new File("C:\\renamedFile.txt");
// I need to write following code to rename the file
// I tried without FileOutputStram object but then renameTo() did not work
FileOutputStream fos = new FileOutputStream(f);
fos.close();
isFileRenamed = f.renameTo(f1);
System.out.print("File renamed? " + isFileRenamed);
} catch (Exception e) {
e.printStackTrace();
}
のオブジェクトを作成した後に renameTo() メソッドが機能した理由の答えを探していますFileOutputStram
。また、私のアプリケーションはJava1.6を使用しているため、Files
クラスのオプションは閉じられています。renameTo()
メソッドのみを使用する必要があります