在应用程序的内部存储中重命名文件的最佳/最简单方法是什么?我觉得有点奇怪,有一个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 中没有错误或任何内容。