Dlaczego data pliku w poniższym kodzie nie została zmieniona?Dlaczego plik setLastModified (time) nie działa dla tego pliku?
fLocal.location
= istniejącego pliku w C: \
fLocal.date
= Data ustawić w Long
boolean x = new File(fLocal.location).setLastModified(Long.parseLong(fLocal.date));
System.out.println("Changed: " + x);
System.out.println(new Date(new File(fLocal.location).lastModified()));
System.out.println(new Date(Long.parseLong(fLocal.date)));
wyjściowa:
Changed: false
Fri Feb 15 23:02:51 CET 2013
Fri Feb 15 22:49:34 CET 2013
Czy twój kod ma prawo zapisu do pliku? Czy plik jest w stanie otwartym? – JoshDM
Czy aktualnie czytasz plik z inną aplikacją w momencie, gdy to robisz? Są to wszystkie elementy, które mogą uniemożliwić zmianę czasu pliku. Utwórz prosty plik tekstowy za pomocą pojedynczego wiersza tekstu, zapisz go i zamknij edytor. Następnie spróbuj użyć tego pliku. Upewnij się, że wywołujesz 'exist()' w obiekcie pliku, zanim spróbujesz go zmienić, aby upewnić się, że rzeczywiście masz poprawny plik. – JoshDM
To jest kiepski pomysł, aby pracować bezpośrednio pod C: \ ponieważ a) w nowszych wersjach systemu Windows nie powinieneś dotykać/zmieniać plików i katalogów tam b) możesz przypadkowo nadpisać lub usunąć pliki OS (takie jak konfiguracja rozruchu plik). – Ingo