アプリケーションの内部ストレージにあるファイルの名前を変更する最良/最も簡単な方法は何ですか? Context.deleteFile()
メソッドはあるのに、「移動」機能や「名前変更」機能がないのは少し奇妙です。ファイルの内容を保存し、削除し、新しいファイルを作成してから、内容をそのファイルにコピーする必要がありますか? または、既存のファイルにファイルをコピーする方法はありますか?
更新 (2012 年 8 月 30 日):
以下の提案された解決策に従って、私は仕事をすることができません:
- shoppinglists.csv というファイルがあります
- 次に、shoppinglists.tmp という名前の新しいファイルを作成し、shoppinglists.csv の内容といくつかの新しいエントリをコピーします。shoppinglist.tmp ファイルは、shoppinglists.csv ファイルの新しいバージョンです。
- 次に、古い shoppinglists.csv ファイルを削除します
- 次に、 shoppinglists.tmp ファイルの名前を shoppinglists.csv に変更する必要があります
私はこれを試しました:
ctx.deleteFile("shoppinglists.csv"); <--- delete the old file
File oldfile = new File("shoppinglists.tmp");
File newfile = new File("shoppinglists.csv");
oldfile.renameTo(newfile);
ただし、これは機能しません。deleteFile() の後は何も起こらず、新しい shoppinglists.tmp ファイルが残ります。
私は何が欠けていますか?
注意: LogCat にはエラーも何もありません。