Perché la data del file nel seguente codice non è stata modificata?Perché non setLastModified (tempo) funziona per questo file?
fLocal.location
= file esistente in C: \
fLocal.date
= Data per impostare a 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)));
uscita:
Changed: false
Fri Feb 15 23:02:51 CET 2013
Fri Feb 15 22:49:34 CET 2013
Il tuo codice ha accesso in scrittura al file? Il file è in stato aperto? – JoshDM
Attualmente stai leggendo il file con qualsiasi altra applicazione nel momento in cui stai facendo questo? Questi sono tutti elementi che potrebbero impedirti di modificare l'ora del file. Crea un semplice file di testo semplice con una singola riga di testo, salvalo e chiudi l'editor. Quindi prova a usare quel file. Assicurati di chiamare 'exists()' sul tuo oggetto file prima di provare a cambiarlo per assicurarti di avere effettivamente un file valido. – JoshDM
È una cattiva idea lavorare direttamente in C: \ perché a) nelle versioni di Windows più recenti non si dovrebbe toccare/cambiare file e directory lì b) si potrebbe accidentalmente sovrascrivere o rimuovere i file OS (come la configurazione di avvio file). – Ingo