K
Knobbs
Neues Mitglied
- 0
Hallo zusammen,
ich bin gerade am verzweifeln. Ich schreibe in meiner App ein kleines Logfile mit. Allerdings möchte ich, dass ältere Files automatisch wieder gelöscht werden.
Leider wird das lastModified() Datum jedesmal für alle Files im Verzeichnis neu gesetzt, so dass immer der aktuelle Zeitstempel zurückgegeben wird.
Soweit ich das sehe, liegt es an der Zeile
Allerdings verstehe ich nicht wieso hierdurch lastModiefied für alle Files neu gesetzt wird.
Hat jemand eine Lösung?
Ein Create Date gibts ja anscheinend nicht ...
ich bin gerade am verzweifeln. Ich schreibe in meiner App ein kleines Logfile mit. Allerdings möchte ich, dass ältere Files automatisch wieder gelöscht werden.
Leider wird das lastModified() Datum jedesmal für alle Files im Verzeichnis neu gesetzt, so dass immer der aktuelle Zeitstempel zurückgegeben wird.
Soweit ich das sehe, liegt es an der Zeile
Code:
File folder = new File(Environment.getExternalStorageDirectory()+"/test/");
Hat jemand eine Lösung?
Ein Create Date gibts ja anscheinend nicht ...
Code:
String format = "yyyy-MM-dd_HHmmss";
SimpleDateFormat sdf = new SimpleDateFormat(format);
String timestamp = sdf.format(new Date(System.currentTimeMillis()));
File folder = new File(Environment.getExternalStorageDirectory()+"/test/");
File filename = new File(Environment.getExternalStorageDirectory()+"/test/","Log_"+timestamp+".txt");
if (!folder.exists()) {
folder.mkdirs();
}
File[] files = folder.listFiles();
for( File element : files){
Long lastModDate = element.lastModified();
showToast(String.valueOf(lastModDate),"short");
if(lastModDate+(5*24*60*60*1000)<System.currentTimeMillis()) {
element.delete();
}
}