¿Cuál es la mejor y más fácil manera de cambiar el nombre de un archivo en el almacenamiento interno de la aplicación? Me parece un poco extraño que haya un método Context.deleteFile()
, pero no una función "mover" o "cambiar el nombre". ¿Tengo que recorrer todo el tiempo guardando los contenidos del archivo, eliminándolo, creando uno nuevo y luego copiando los contenidos en ese? ¿O hay una forma de copiar un archivo sobre un archivo existente?Cambiar el nombre de un archivo en el almacenamiento interno
Actualización (30 de agosto de 2012):
De acuerdo con la solución sugerida a continuación, que no puedo ir a trabajar:
- tengo un archivo llamado shoppinglists.csv
- Entonces cree un nuevo archivo llamado shoppinglists.tmp y copie los contenidos de shoppinglists.csv Y algunas entradas nuevas en eso. El archivo shoppinglist.tmp es entonces una nueva versión del archivo shoppinglists.csv
- Luego eliminar el archivo shoppinglists.csv edad
- entonces tengo que cambiar el nombre del archivo shoppinglists.tmp a shoppinglists.csv
he intentado esto:
ctx.deleteFile("shoppinglists.csv"); <--- delete the old file
File oldfile = new File("shoppinglists.tmp");
File newfile = new File("shoppinglists.csv");
oldfile.renameTo(newfile);
sin embargo, esto no funciona. Después de deleteFile(), no ocurre nada más, y me queda el nuevo archivo shoppinglists.tmp.
¿Qué me estoy perdiendo?
NB: No hay errores ni nada en LogCat.
Comprobar esta solución http://stackoverflow.com/questions/2896733/how-to-rename-filename-in-sdcard-with-android-application –