Was ist die beste/einfachste Möglichkeit, eine Datei im internen Speicher der Anwendung umzubenennen? Ich finde es ein bisschen komisch, dass es eine Context.deleteFile()
Methode gibt, aber keine "move" oder "rename" Funktion. Muss ich den gesamten Inhalt der Datei speichern, löschen, neu erstellen und dann den Inhalt kopieren? Oder gibt es eine Möglichkeit, eine Datei über eine vorhandene Datei zu kopieren?Umbenennen einer Datei im internen Speicher
Update (30. August 2012):
Gemäß der vorgeschlagenen Lösung unten, die ich nicht zur Arbeit bekommen:
- Ich habe eine Datei mit dem Namen shoppinglists.csv
- Dann habe ich Erstelle eine neue Datei namens shoppinglists.tmp und kopiere den Inhalt von shoppinglists.csv UND einige neue Einträge in diesen. Die shoppinglist.tmp Datei ist dann eine neue Version der Datei shoppinglists.csv
- Dann lösche ich die alte shoppinglists.csv Datei
- Dann muss ich die shoppinglists.tmp Datei umbenennen
ich versuchte dies:
ctx.deleteFile("shoppinglists.csv"); <--- delete the old file
File oldfile = new File("shoppinglists.tmp");
File newfile = new File("shoppinglists.csv");
oldfile.renameTo(newfile);
dies ist jedoch nicht funktioniert. Nach deleteFile() passiert nichts mehr, und mir bleibt die neue shoppinglists.tmp-Datei.
Was fehlt mir?
Hinweis: Es gibt keine Fehler oder irgendetwas in LogCat.
prüfen diese Lösung http://stackoverflow.com/questions/2896733/how-to-rename-filename-in-sdcard-with-android-application –