IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

fichier.txt comparaison de dates


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut fichier.txt comparaison de dates
    Bonjour à tous,
    Voila, j'essaye de lire un fichier texte qui est un fichier d'historisation de mon application et qui alimente une jsp.
    Il s'agit en fait d'une petite application de monitoring pour des serveurs qui fait des requêtes http et sql et retourne ok ou ko selon la réponse (seules les reponses KO sont stockées dans le fichier).

    La syntaxe dans le fichier est de ce type :
    06/10/2006 04:52:09 serveur TOTO, alerte URL Connexion à l'Url toto.co
    KO
    06/10/2006 04:52:11 serveur TATA, alerte URL Connexion à l'Url tata.co KO
    09/10/2006 10:50:59 serveur TOTO, alerte DB Test de la Base informix resultDB : KO
    J'essaye de faire un système de feux rouges (ok = vert , alerte url = orange, alerte basededonnées = rouge) dans ma jsp.
    Le problème est que j'aimerais récupérer seulement (dans un premier temps)
    la dernière alerte de chaque serveur

    Voici un bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    fr 	= new FileReader(adressedufichier); 
    br 	= new BufferedReader(fr); 
    texte = br.readLine();
     
    while(texte!=null){
     
    rechercheNomServeur = texte.substring(29); 	
    recupDate	= texte.substring(0,19);
    date 	= CalculTime.stringToDate(recupDate,"dd/MM/yyyy hh:mm:ss");
    							if((rechercheNomServeur.startsWith(nomServer)) && texte.endsWith("resultDB : KO")){
     
    	 out.println(
    		"<IMG SRC=images/feuxVsombre.gif ALIGN='top' vspace='5' alt='feuxVsombre'><br />"+
    		 "<IMG SRC=images/feuxOsombre.gif ALIGN='middle' vspace='5' alt='feuxOsombre'><br />"+
    		"<IMG SRC=images/feuxRouge.gif ALIGN='bottom' vspace='5' alt='feuxRouge'><br />"							 
    		);
     
    }
    else if(rechercheNomServeur.startsWith(nomServer)){
     out.println(
    "<IMG SRC=images/feuxVsombre.gif ALIGN='top' vspace='5' alt='feuxVsombre'><br />"+
     "<IMG SRC=images/feuxOrange.gif ALIGN='middle' vspace='5' alt='feuxOrange'><br />"+
     "<IMG SRC=images/feuxRsombre.gif ALIGN='bottom' vspace='5' alt='feuxRsombre'><br />"							 
    );
    }
    else{out.println(
    "<IMG SRC=images/feuxVert.gif ALIGN='top' vspace='5' alt='feuxVert'><br />"+
    "<IMG SRC=images/feuxOsombre.gif ALIGN='middle' vspace='5' alt='feuxOsombre'><br />"+
    "<IMG SRC=images/feuxRsombre.gif ALIGN='bottom' vspace='5' alt='feuxRsombre'><br />"							 
    );
    }
    texte = br.readLine();											      
    }
    je voudrais utiliser les dates pour ne récupérer que la dernière alerte mais je ne vois pas encore comment faire si vous avez des idées...

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Pour la date, il faut
    - Récupérer la ligne ( readLine, java.io etc.)
    - Parser la date à l'aide de StringTokenizer ( il y a peut-être une librairie qui fait ça en automatique avec des patterns comme tu semble le faire dans ton code ? )
    - utiliser Calendar.set(...) avec les valeurs précédament récupérée.
    - utiliser les méthodes "before" ou "after" de l'interface Calendar pour effectuer la comparaison.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Une solution serait de créer une Hashtable avec le nom de serveur en tant que clé et la date de la dernière alerte lue ainsi que le message.

    A chaque lecture d'un enregistrement dans ton fichier, tu le compares avec celui stocké dans ta table, si il est plus récent, tu remplaces celui présent dans ta table.

    A la fin, tu boucles sur ta table pour afficher son contenu.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut
    Je vous remercie pour vos réponses, j'ai utilisé la classe Hashtable et j'ai mis le nom du serveur en tant que clé et le type d'alerte en tant que valeur , à chaque fois que la clé est lue dans une ligne, la nouvelle valeur remplace la précédente, exactement ce que je cherchais !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phpMyAdmin] importer fichier txt problème de date
    Par docteurdorian dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 16
    Dernier message: 26/01/2011, 13h39
  2. comment lire un fichier txt suivant la date du jour ?
    Par tarentaise dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 12/01/2010, 20h57
  3. Ouverture fichier txt dans excel date 10/01/2007 au lieu de 01/10/2007
    Par megapacman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/10/2007, 14h14
  4. Creer un fichier txt avec la date du jour
    Par quarkz dans le forum Débuter
    Réponses: 8
    Dernier message: 28/07/2005, 17h29
  5. Date dans un fichier txt
    Par cali1983 dans le forum C++
    Réponses: 6
    Dernier message: 23/05/2005, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo