Hey Jungs, ich habe ein komisches Problem.
setLastModified ändert zuerst einmal wie gewünscht das Modifizierungsdatum des Ordners(im Quelltext "temp") ab. Das sehe ich auch so im Windows-Explorer (das Modifizierungsdatum steht dann auf März 2010)
[JAVA=1]
File temp = new File(zielPfad);
if (!temp.exists() || temp.lastModified() != alteDatei.lastModified() ) {
System.out.println(temp.lastModified()); // "0", weil Datei beim ersten Durchlauf nicht existiert
erzeugeOrdner(temp);
temp.setLastModified(alteDatei.lastModified()); // "true"
System.out.println(temp.lastModified()); // "1268120217000", wie gewünscht
}
[/code]
Wenn ich den Code nun ein weiteres Mal ausführe, sollte er (meines Verständnisses nach) die IF-Bedingung nicht durchlaufen, weil die Modifizierungsdaten von "temp" und "alteDatei" verschieden sind. Genau dies macht er aber...
Zeile 3 gibt dann die Zeit aus, in der ich den Code das erste Mal ausgeführt habe (Juli 2012).
Den Quelltext habe ich übrigens entsprechend angepasst und nicht relevante Teile weggelassen... mit "temp" wird nichts mehr gemacht
Könnt ihr das Problem nachvollziehen und mir bei der Lösung dieses helfen?
Liebe Grüße
RaideR
//Edit Das ganz komische ist... Wenn ich den Code ein weiteres Mal ausführe, dann durchläuft er die IF-Bedingung nicht (Sprich: Beim zweiten Durchlauf hat er das Modifikationsdatum korrekt und nachhaltig (!) gesetzt)
setLastModified ändert zuerst einmal wie gewünscht das Modifizierungsdatum des Ordners(im Quelltext "temp") ab. Das sehe ich auch so im Windows-Explorer (das Modifizierungsdatum steht dann auf März 2010)
[JAVA=1]
File temp = new File(zielPfad);
if (!temp.exists() || temp.lastModified() != alteDatei.lastModified() ) {
System.out.println(temp.lastModified()); // "0", weil Datei beim ersten Durchlauf nicht existiert
erzeugeOrdner(temp);
temp.setLastModified(alteDatei.lastModified()); // "true"
System.out.println(temp.lastModified()); // "1268120217000", wie gewünscht
}
[/code]
Wenn ich den Code nun ein weiteres Mal ausführe, sollte er (meines Verständnisses nach) die IF-Bedingung nicht durchlaufen, weil die Modifizierungsdaten von "temp" und "alteDatei" verschieden sind. Genau dies macht er aber...
Zeile 3 gibt dann die Zeit aus, in der ich den Code das erste Mal ausgeführt habe (Juli 2012).
Den Quelltext habe ich übrigens entsprechend angepasst und nicht relevante Teile weggelassen... mit "temp" wird nichts mehr gemacht
Könnt ihr das Problem nachvollziehen und mir bei der Lösung dieses helfen?
Liebe Grüße
RaideR
//Edit Das ganz komische ist... Wenn ich den Code ein weiteres Mal ausführe, dann durchläuft er die IF-Bedingung nicht (Sprich: Beim zweiten Durchlauf hat er das Modifikationsdatum korrekt und nachhaltig (!) gesetzt)
Zuletzt bearbeitet: