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 faire une recherche dans un fichier?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut Comment faire une recherche dans un fichier?
    Bonjour.
    Je suis actuellement en train de me faire un petit projet perso, et je sauvegarde les données dans un fichier. Enfin pas les données mais les objets. Je ne sauvegarde qu'un seul objet en particulier.
    Mais voilà maintenant je voudrais trier les objet par id par exemple. Je m'explique, comment faire pour sortir un objet en fonction d'une de ses variable de classe(appelé id)?
    En bref n'y a t-il pas comme en SQL une commande pour faire ca:

    SELECT * FROM fichier WHERE id='567'


    Son équivalent existe-til en java?
    merci d'avance.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Tu sauvegardes tes objets sous quel format de fichier ? XML, sérialisation, etc. ?
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Eh bien en .dat. J'ai serialiser la classe a sauver....
    J'arrive a afficher le contenu du fichier, le problème c'est que je n'affiche que le dernier obget enregistré! Les autres je ne sais pas comment les sortir!

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    A ma conaissance ca n'existe pas.
    Tu va devoir sérialiser une liste entière, la désérialisé, puis chercher ton objet.

    Ce n'est pas pour rien qu'on a inventé le SQL
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Hum je vois.... donc je doit mettre tout mes objet dans une Array List et puis les mettre dans un fichier d'objet.... mais apres comment trouver mon objet dans la liste?

  6. #6
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    ceci dit si ton id est une clé sur tes objets tu peux t'en servir comme nom de fichier.

    si tous tes fichiers d'un type donné sont stockés dans un même répertoire il est pas trop compliqué de les sauver/récupérer

    la liste tu peux la reconstruire en faisant l'équivalent d'un 'dir' ou 'ls' sur ton répertoire.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  7. #7
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Pour la recherche tu peux tout à fait sérializer une Map qui aura pour key ton identifiant.
    Tu pourras ainsi récupérer ton object d'identifiant 42 de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object o = myMap.get(42);
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    euh désolé de paraître lourd mais je débute....et donc .... c'est quoi une map?

  9. #9
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Un conteneur de données, je t'invite à faire une recherche
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Ok, merci! Je vais me replonger dans les tutos.

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Bonjour à tous.
    Je vines de faire ce que vous m'avez dit... mais je bloque au moment de l'insertion d'un objet dans une liste. En effet j'ai dans mon fichier une liste de type Hashtable. J'ai donc ouvert mon fichier desirialisé la liste... mais ensuite quand j'ai modifié la liste(càd ajouter une entrée), dois-je réecrire la liste dans le fichier(en effacant tout et en tout remettant? ou y-a-til une autre facon?

  12. #12
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Un simple ObjectOutputStream.writeObject(myHashTable) suffira
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  13. #13
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Merci d'avoir répondu.
    Peut-être je me suis mal exprimé, mais en fait je sais comment écrire dedans, le problème n'est pas là. Je cherche une méthode afin d'écrire en fin de HashTable. Merci d'avance.

  14. #14
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Ce n'est pas possible avec une HashTable. La hashtable n'a pas d'ordre fixe. Si tu veux avoir une map ordonnée, il te faut regarder du coté de la LinkedHashMap

  15. #15
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Ok merci pour l'astuce!

  16. #16
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 188
    Points
    188
    Par défaut
    Un truc de ce genre:



    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
     
     
     
    String line = null, recherche = null, path = null;
     
    // le chemin du fichier et le mot recherche doivent etre definis 
     
    try
      {
      BufferedReader br = new BufferedReader
        (new FileReader(path));
     
    int i = 1; //initialisation du numero de ligne 
    while ((line = br.readLine()) != null)
      {
        if ( line.indexOf(recherche) != -1)
        System.out.println("Mot trouve a la ligne " + i );
        i++;
      }
    br.close();
      }
    catch(FileNotFoundException exc) { System.out.println("File not found" );  }
    catch(IOException ioe) { System.out.println("Erreur IO" ); }

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/08/2006, 08h03
  2. Comment faire une recherche dans ACCESS
    Par Bass_Room dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2006, 10h51
  3. Faire une recherche dans un fichier XML
    Par Devilish_Seraph dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 21/01/2006, 13h41
  4. [DBF] Comment faire une insertion dans le fichier ?
    Par dor_boucle dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 14/12/2005, 07h46
  5. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06

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