|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2008
Messaggi: 46
|
[JAVA] [file] vedere se un file è stato modificato rispetto all'ultimo salvataggio
Salve gente, sto scrivendo un'applicazione che tramite GUI permette di effettuare delle operazioni e poi salva il risultato in un file.
Ho già implementato nella JMenuBar, i vari "items" Apri File, Nuovo File, Salva, Salva con Nome...ecc. Funziona tutto, devo sistemare solo qualche particolare...ad esempio, come da oggetto, come faccio a sapere se il file su cui sto lavorando ha subito modifiche rispetto all'ultimo salvataggio? So che esiste un metodo che restituisce la data dell'ultima modifica ma non credo faccia al caso mio, a me servirebbe solo saper se ha subito modifiche rispetto all'ultimo salvataggio..questo lo vorrei sapere più che altro perchè voglio implementare la richiesta di salvataggio quando si chiude il programma dalla X rossa del sistema operativo? Cioè se è stato modificato chiamo la richiesta di salvataggio ed esco, altrimenti esco direttamente senza fare niente. A tal proposito avrei anche un altro quesito, che "evento" devo usare per captare la chiusura della finestra tramite X ? Grazie a tutti coloro che mi aiuteranno! Saluti |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Riguardo il primo problema non credo ci sia un metodo come quello di cui hai bisogno. Dovrai fartelo da te. Ti salvi la data dell'ultima modifica e poi usi il metodo lastModified() di File per fare il controllo.
Riguardo il secondo problema. La guida Swing Espresso di PGI-Bis ci insegna che puoi farlo con qualcosa del genere Codice:
window.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); window.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { int answer = JOptionPane.showConfirmDialog(e.getWindow(), "sicuro?", "Conferma chiusura", JOptionPane.YES_NO_OPTION); if(answer == JOptionPane.YES_OPTION) e.getWindow().dispose(); } }); ![]() http://www.tukano.it/swing%20espresso.pdf Ultima modifica di ndakota : 10-11-2011 alle 22:42. |
![]() |
![]() |
![]() |
#3 | ||
Member
Iscritto dal: Jan 2008
Messaggi: 46
|
Quote:
Penso di aver capito che non posso fare altro che mettere delle flags che mi notifichino l'avvenuto cambiamento dei dati sensibili rispetto allo stato in cui erano all'apertura del file. Così posso sempre sapere se è avvenuta una modifica..altre strade? Quote:
![]() |
||
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
Personalmente userei il calcolo dell'hash prima e dopo e poi farei il confronto.
Ma forse non ho capito bene il problema.
__________________
Concluso positivamente con: Kamzata, Ducati82, Arus, TheLastRemnant, ghost driver, alexbull1, DanieleRC5, XatiX |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Infatti; non riesco a capire se il contenuto del file di cui parla l'autore del thread viene editato direttamente dalla sua applicazione (che quindi dovrà implementare un controllo in fase di chiusura di se stessa per veirficare se ci sono modifiche pendenti in memoria che vanno scritte sul file) oppure se la sua applicazione monitora la data di ultima modifica di un file tra un'esecuzione e l'altra e deve accorgersi se tra l'esecuzione corrente e la precedente qualcuno ha modificato il file (e quindi dovrà salvare le info sul file in qualche modo, ad esempio hash in database).
Oppure entrambe le esigenze. Insomma: raccontaci che fa la tua applicazione ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:35.