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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    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 averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    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 Expert
    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
    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.

  4. #4
    Membre très actif
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    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 averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    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 Expert
    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
    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.

+ 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