Android SDK docrenameTo(File)
のドキュメントFile.class
を読んでいます。
本番環境でしばらくこの方法を使用してきましたが、何が問題になる可能性があるのか 疑問に思っていました. ドキュメントによると
このファイルの名前を newPath に変更します。この操作は、ファイルとディレクトリの両方でサポートされています。
多くの失敗が可能です。より可能性の高い失敗には、次のようなものがあります。
ソース パスと宛先パスの両方を含むディレクトリに対する書き込み権限が必要です。
両方のパスのすべての親に対して検索権限が必要です。
両方のパスが同じマウント ポイントにあります。Android では、アプリケーションが内部ストレージと SD カードの間でコピーしようとすると、この制限にヒットする可能性が最も高くなります。このメソッドは、失敗時に IOException をスローしないことに注意してください。呼び出し元は戻り値を確認する必要があります。
失敗する可能性がある他の考えられる理由は何ですかrenameTo()
(より可能性の高い失敗を参照)? 呼び出し後の保証状態はありrenameTo
ますか?失敗したrenameTo()
場合、元のファイルが残っていることに頼ることはできますか? ドキュメントに記載されているものとは別に、それが機能することを確認したい他の条件はありますか?