Recuperation de l'historique des données d'un fichier

inama1 Messages postés 10 Date d'inscription lundi 26 mars 2012 Statut Membre Dernière intervention 18 mai 2012 - 20 avril 2012 à 11:05
 Utilisateur anonyme - 20 avril 2012 à 18:20
Bonjour ;
J'utilise un code java qui me permet d'enregistrer dans un fichier.txt la resultat de "ping" d'un switch , mais à chaque fois que j'execute ma classe la resultat precedente s'ecrase . Quel est le bout de code que je peux l'ajouté à ma classe pour avoir un historique à chaque exécution ?
Merciiii infinement pour votre aide

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
20 avril 2012 à 11:25
Salut,

Tu peux ajouter la date et l'heure dans le nom du fichier pour ne pas l'écraser chaque fois ou alors, tu peux ajouter les lignes à un fichier :

public void append(String filename, String text) {
FileWriter writer = null;
try{
writer = new FileWriter(filename, true);
writer.write(text, 0, text.length());
}
catch(IOException ex){
ex.printStackTrace();
}
finally{
if(writer != null){
try {
writer.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
}
0
inama1 Messages postés 10 Date d'inscription lundi 26 mars 2012 Statut Membre Dernière intervention 18 mai 2012
20 avril 2012 à 12:07
j'ai utilisé le code que vous m'avez donner mais rien ne change toujours je n'obtient pas l'historique ...
Alors est ce que vous pouvez me dire comment ajouter la date et l'heure dans le nom du fichie ?
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
20 avril 2012 à 14:04
Et bien quand tu créés le fichier, donne lui ce nom :

StringBuilder sb = new StringBuilder();
GregorianCalendar gc = new GregorianCalendar();
sb.append("FICHIER_");
sb.append(gc.get(GregorianCalendar.YEAR)).append("_");
sb.append(gc.get(GregorianCalendar.MONTH)).append("_");
sb.append(gc.get(GregorianCalendar.DAY_OF_MONTH)).append("_");
sb.append(gc.get(GregorianCalendar.HOUR_OF_DAY)).append("_");
sb.append(gc.get(GregorianCalendar.MINUTE));
sb.append(".txt");
System.out.println(sb.toString());
0
Utilisateur anonyme
20 avril 2012 à 18:20
Salut,

Exemple:

   import java.io.*;
   import java.util.Date;

   class CreerHisto
   {
   
      public static void main(String[] args) throws IOException
      {
      
        /* Le paramètre qui suit le nom du fichier peut être false ou true.
         *
         * Ce paramètre est facultatif et dans ce cas est false par défaut.
      	*
         * -true: si le fichier contient des données, l'écriture est faite à la suite de ces données
         *        (en mode append donc).
      	*
      	* -false: (ou donc absence du paramètre) indique que le contenu éventuel du fichier sera
         *         détruit et remplacé par l'écriture.
      	*
         * Noter que si le fichier n'existe pas il sera créé.
      	*
      	* On peut utiliser un boolean initialisé à true ou false en fonction du mode d'écriture
      	* à effectuer
      	*
      	*/
        
         PrintWriter pw =  new PrintWriter(new BufferedWriter(new FileWriter
            ("FichierHistorique.txt", true))); // >>>> donc avec true, on ajoutera (append)
            
         Date d = new Date(); // par exemple on ajoute cette date
         
         pw.println(d);
         
      	
         pw.close();
      }
   }


Cordialement,


...\ Dan /...
0
Rejoignez-nous