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

Entrée/Sortie Java Discussion :

comment stocker les données d'une hashtable dans un fichier?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut comment stocker les données d'une hashtable dans un fichier?
    bonjours à tous,j'ai un petit probléme j'éssaye en vain de stocker les donné d'une hashtable dans un fichier!voici un bout du code que j'essaye de transferer dans un fichier:
    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
    Scanner scan=new Scanner(System.in); 
     
    System.out.println("donnez le nom du client"); 
    String nom=scan.nextLine(); 
     
    System.out.println("donnez le prenom du client"); 
    String prenom=scan.nextLine(); 
     
     
    Hashtable m=new Hashtable(); 
     
    m.put(nom,prenom); 
     
     
    Enumeration tar=m.keys(); 
     
    while (tar.hasMoreElements( )) 
    { 
     
    Object key = tar.nextElement( ); 
    Object value = m.get(key); 
    System.out.println("le nom: "+key+"\nle prenom: "+value); 
     
    }
    merci d'avance!!

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    en faite j'ai réussi à stocker les données que je saisis dans un fichier!mais le probléme reste le meme certe les données restent dans le fichier mais pas dans la hash table!

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    class T 
     
     
    { 
     
    Hashtable m; 
     
    public void chargerhash(String n,String p) 
    { 
     
    m=new Hashtable(); 
    m.put(n,p); 
     
    } 
    public void affichhash() 
    { 
     
     
    Enumeration tar=m.keys(); 
     
    System.out.println("le contenu de la Htable:"); 
    while (tar.hasMoreElements( )) 
    { 
     
    Object key = tar.nextElement( ); 
    Object value = m.get(key); 
    System.out.println("le nom: "+key+"\nle prenom: "+value); 
     
    } 
    } 
     
     
     
     
    public static void main(String a[]) throws IOException 
    { 
     
     
     
     
    T myt=new T(); 
     
    Scanner scan=new Scanner(System.in); 
     
    System.out.println("donnez le nom du client"); 
    String nom=scan.nextLine(); 
     
    System.out.println("donnez le prenom du client"); 
    String prenom=scan.nextLine(); 
     
    mytp.chargerhash(nom,prenom); 
    mytp.affichhash(); 
     
    Fich monfich=new Fich(); 
    monfich.saveinfich(nom); 
    monfich.saveinfich(prenom); 
     
    Affichfich ref=new Affichfich(); 
    ref.lirefichier(); 
     
    } 
    }
    bien sur le code ci dessus n'est qu'une simulation!

  3. #3
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    J'ai l'impression que tu relances ton programme à chaque fois que tu veux entrer une nouvelle clef/valeur, non ?

    Si oui, c'est normal que le hash ne conserve pas les valeurs, car toutes les données sont vides au moment du départ ; en fait deux exécutions successives d'un même programme ont des données complètement indépendantes.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    Points : 380
    Points
    380
    Par défaut
    Pour pouvoir mémoriser tes variables :
    java.io.Serializable

    Pour les enregistrer :
    java.io.ObjectOutputStream
    java.io.FileOutputStream

    Pour les retrouver :
    java.io.ObjectInputStream
    java.io.FileInputStream

    HashMap implémente java.io.Serializable !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class HashMap<K,V>
        extends AbstractMap<K,V>
        implements Map<K,V>, Cloneable, Serializable

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    merci à vous deux!
    donc à ce que je comprend avant de fermer le programme il faut stocker le contenu de la hashtable dans un fichier(ce que j'ai déjà fait),et à la relance du programme il faut charger la hashtabbe à partir des données qui sont déjà stockés dans le fichier,c'est ça?

  6. #6
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Oui. Et, pour peu que tu n'utilises que des chaînes de caractères, il y a une classe très utilisée qui fait ça presque toute seule : Properties.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    en faite comme c'est un projet d'étude donc je suis obligé de travailler avec des hashtable
    je donne un exemple:
    voilà le contenu d'un fichier:

    car
    voiture
    house
    maison


    sachant que "car" et "house" sont les clés de ma hashtable,j'ai éssayé de stocké le contenu du fichier dans une hash table dans le bon ordre,lais j'y arrive pas!!vous avez une idée sur la démarche à éffectuer?

  8. #8
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Un Professionnel irait voir le code de la classe Properties et pomperait sans vergogne le code correspondant.

    Un stagiaire, je ne sais pas ?...
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    oui c'est vraie!!la classe properties est trés interessante,mais il faut l'utiliser à la place de la hashtable et dans mon travail je suis obligé de travaillé avec la classe Hashtable!
    merci en tout cas!!

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    ouf!!enfin j'y suis arrivé!!merci pour vos réponses!!!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/03/2009, 01h43
  2. comment copier les donnés d'une table vers un fichier exel
    Par 21247692 dans le forum Bases de données
    Réponses: 8
    Dernier message: 09/01/2009, 14h30
  3. Comment Afficher les donnes d'une BD dans WXGRID ?
    Par Dayssam dans le forum wxPython
    Réponses: 3
    Dernier message: 15/06/2008, 15h08
  4. Réponses: 1
    Dernier message: 25/04/2008, 16h17
  5. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41

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