Conserver la valeur d'une variable en Java

Scipion -  
 danimo -
Bonjour à tous,
j'aimerai conserver la valeur d'une variable au-travers plusieurs exécutions de mon programme (il s'agit en réalité d'une variable indiquant la date de la dernière modification). Suis-je obligé d'avoir recours à une base de donnée ou alors y-a-t'il un autre moyen ?
Merci de vos réponses.

3 réponses

  1. dariumis Messages postés 583 Statut Membre 63
     
    Salut. je pense que le plus simple c'est la bases de données. y' a certainement moyen de faire via un fichier. mais là je vais sur des terrains inconnus.
    0
  2. ProgMad Messages postés 90 Statut Membre
     
    Salut,

    Via un fichier ca me paraît faisable. Tu sauvegarde (par exemple) le jour dans la première ligne puis le mois dans la deuxième ligne etc. Après chaque lancement de ton programme, tu accède à ton fichier et tu récupère la date de la dernière modification en la mettant à jour.
    0
  3. danimo
     
    Salut,

    "(il s'agit en réalité d'une variable indiquant la date de la dernière modification)."

    Il s'agit donc d'obtenir la date de la dernière modification d'un fichier...
    C'est possible en utilisant la méthode lastModified() de la classe File.
    La date de modification est obtenue en millisecondes dans un long.

    long dateModification = objetMonFichier.lastModified(); // import java.io.File;


    Et voici comment, à partir des millisecondes, obtenir cette date sous la forme jj/mm/aaaa heure:minutes:secondes

             String monFichier = "unFichier.type";
             
             File d = new File(monFichier);
             //long dateModification = d.lastModified();
          
             Calendar cal = Calendar.getInstance (); 
             cal.setTime(new Date(d.lastModified()));
             
             int annee = cal .get(Calendar.YEAR);
             int num_mois = cal.get(Calendar.MONTH);
             int jour = cal.get(Calendar.DAY_OF_MONTH);
             int heure = cal.get(Calendar.HOUR_OF_DAY);
             int minute = cal.get(Calendar.MINUTE);
             int seconde = cal.get(Calendar.SECOND);
             
          // Zéro à gauche de la valeur < 10 du jour, du mois, de l'heure, des minutes et des secondes
             String jourS = (jour<10?"0":"") + jour;
             String num_moisS = ((num_mois +1)<10?"0":"") + (num_mois +1);
             String heureS = (heure<10?"0":"") + heure;
             String minuteS = (minute<10?"0":"") + minute;
             String secondeS = (seconde<10?"0":"") + seconde;
             
             System.out.println("\nDate de l'ultime modification du fichier " + monFichier + ":\n"
                + jourS + "/" + num_moisS + "/" + annee + " " + heureS
                + ":" + minuteS  + ":" + secondeS);


    Noter qu'il n'est pas possible d'obtenir la date de création d'un fichier.

    Cordialement

    Dan
    0