Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Keyren
    Registrato dal
    Aug 2012
    Messaggi
    64

    [Java] Timer bloccato?!

    Salve prima di tutto scusate per il titolo,ma non sapevo cosa scrivere xD vi espongo subito il mio "strano" problema.Allora sto realizzando una rubrica telefonica e avevo pensato di fare il tasto "Backup" che una volta premuto mi doveva creare un file txt chiamato "Backup_Data_Ora" con mia sorpresa ci sono riuscitoxD(si vede che sto imparando lol)e funzionava pure bene.Solo che adesso quando creo il file non si aggiorna l'ora in cui è stato creato il file, esempio:avvio il programma clicco su backup e si crea il file "Backup_ListaContatti_Date(2013-03-15)_(10-21-34)Time.txt" successivamente se rifaccio il backup mi porta sempre lo stesso tempo e avendo fatto il controllo che nel caso il file esistesse già cancella il precedente e lo ricrea,l'avevo fatto nel caso in cui l'utente premesse più volte il tasto backup,ma adesso faccio apparire un messaggio su schermo di riuscita del backup così sarebbe passato almeno 1 secondo tra la prima richiesta di backup non potendo così creare 2 file uguali,almeno fino a ieri sera funzionava cosìxD.La cosa strana è che non ho fatto nessuna modificato,o comunque nulla legato alla data,vi posto il codice per farvi capire meglio^^
    codice:
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    
    Calendar DataBackup = new GregorianCalendar(); 
    SimpleDateFormat dateFormat;
     public Class_Backup() { 
    this.Nome = "Backup_ListaContatti_Date";
     dateFormat = new SimpleDateFormat("(yyyy-MM-dd)_(hh-mm-ss)"); 
    this.Indirizzo = System.getProperty("user.home") + "\\" + "Desktop\\" + Nome + dateFormat.format(DataBackup.getTime()) + "Time" + ".txt";
     String replace = Indirizzo.replace("\\", "/");
    }
    Mah prima funzionava facendo così._. mi generava un file diverso ad ogni secondo ora invece resta fisso alla prima richiesta di backup,anche se passano diversi minuti >_<

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Questa istruzione
    codice:
    Calendar DataBackup = new GregorianCalendar();
    è posta fuori da ogni metodo... significa che viene eseguita solo alla creazione della classe e non ad ogni invocazione dei suoi metodi. Quindi, non sapendo bene cosa stai facendo (non hai postato un esempio particolarmente comprensibile: manca l'intestazione della classe, sembra che ci sia solo un costruttore che fa tutto), posso solo dirti che io farei un metodo apposito, nel quale viene creato l'oggetto GregorianCalendar (a dire il vero, basta un oggetto Date, non ha sendo costruire un intero calendario per farsi restituire la data e l'ora odierni), quindi costruirei un solo oggetto e ne richiamerei il metodo ad ogni necessità.

    PS: se posso, ti consiglierei di rendere quel codice un po' più cross-platform, evitando percorsi fissi ed evitando stringhe di separazione di directory fisse... in modo che possa funzionare anche in ambiente diverso da Windows e "ovunque" il programma venga copiato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Keyren
    Registrato dal
    Aug 2012
    Messaggi
    64
    In effetti è un pò esagerato chiamarlo esempio più che altro è come avrei creato la data,ora e percorso,sorry^^',comunque per ora ho copiato tutto nel metodo che crea il file e funziona XP forse ho modificato la posizione di
    codice:
    Calendar DataBackup = new GregorianCalendar();
    e non lo ricordo .__.
    Grazie per i consigli con il java le date mi stanno un pò sulle scatole xD proverò con Date^^ e per quanto riguarda il cross-platform ci avevo già pensato,diciamo che sto procedendo a step risolvo una cosa e ne implemento un'altra(credo sia il modo migliore per imparare),visto che sono tutt'ora agli inizi(ho iniziato un mesetto fa)=).Grazie ancora^_^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.