Qual è il modo migliore/più semplice per rinominare un file nella memoria interna dell'applicazione? Trovo un po 'strano che ci sia un metodo Context.deleteFile()
, ma nessuna funzione "sposta" o "rinomina". Devo andare fino in fondo a salvare il contenuto del file, cancellarlo, crearne uno nuovo e poi copiare i contenuti in quello? O c'è un modo per copiare un file su un file esistente?Rinomina un file nella memoria interna
Update (30 Agosto 2012):
Come per la soluzione suggerita di seguito, che non posso andare al lavoro:
- Ho un file chiamato shoppinglists.csv
- Poi ho crea un nuovo file chiamato shoppinglists.tmp e copia i contenuti da shoppinglists.csv E alcune nuove voci in questo. Il file shoppinglist.tmp è poi una nuova versione del file shoppinglists.csv
- Poi ho eliminare il vecchio file shoppinglists.csv
- poi ho bisogno di rinominare il file shoppinglists.tmp a shoppinglists.csv
ho provato questo:
ctx.deleteFile("shoppinglists.csv"); <--- delete the old file
File oldfile = new File("shoppinglists.tmp");
File newfile = new File("shoppinglists.csv");
oldfile.renameTo(newfile);
Tuttavia, questo non funziona. Dopo deleteFile(), non succede più nulla e mi rimane il nuovo file shoppinglists.tmp.
Cosa mi manca?
NB: non ci sono errori o altro in LogCat.
controllare questa soluzione http://stackoverflow.com/questions/2896733/how-to-rename-filename-in-sdcard-with-android-application –