Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Java - fichiers - recherche

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Java - fichiers - recherche

n°1695595
maulzu
Posté le 01-03-2008 à 16:47:05  profilanswer
 

Bonjour tout le monde, j'espère que vous pourrez remédier à mon petit problème.
 
Je souhaiterais écrire, lire et rechercher dans un fichier.
 
Tout d'abord je crée un object "Personne" avec nom, prenom etc ...
 
Je voudrais l'écrire dans un fichier et ensuite relire le fichier.  
 
Par la suite, je souhaiterais faire une recherche sur le nom pour trouver ses informations et les afficher (sans afficher tout  le fichier)
 
ps : pourriez-vous me dire comment écrit-on l'objet d'une classe dans un fichier ?  
 
File nom_du_fichier = new File("essai.dat" );
 
DataOutputStream sortie = new DataOutputStream (new FileOutputStream (nom_du_fichier));
 
Mais je ne sais pas comment ajouter mes objets ? comment les écrire?  
 
Voici le code :  
 
import java.io.*;
import java.lang.*;
 
class Fichier1
{
 public void ecrire(String texte, String nom_du_fichier)
 {
  try
  {
   FileWriter fw = new FileWriter(nom_du_fichier, true); // ajout dans le fichier (append) on n'écrit pas par dessus
   
   BufferedWriter output = new BufferedWriter(fw);
   
   output.write(texte);
   
   output.flush();
   
   output.close();    
  }
  catch(IOException e)
  {
   System.out.println("Erreur ecriture : "+e);
   e.printStackTrace();
  }
 }
 
 public void lire(String nom_du_fichier)
 {
  try
  {
   FileReader fr = new FileReader(nom_du_fichier);
   
   BufferedReader br = new BufferedReader(fr);
   
   
   String ligne;
   
   do
   {
    ligne = br.readLine();
    if(ligne != null)
     System.out.println(ligne);
   } while(ligne != null);
   
   br.close();
  }  
  catch(IOException e)
  {
   System.out.println("Erreur lecture : "+e);
   e.printStackTrace();
  }
 }
 
 public void recherche(String mot_recherche, String nom_du_fichier)
 {
  try
  {
   FileReader fr = new FileReader(nom_du_fichier);
   
   BufferedReader br = new BufferedReader(fr);
   
   String ligne;
   
   int drap = 0;
   
   do
   {
    ligne = br.readLine();
     
    if(ligne == mot_recherche)
    {
     System.out.println("Le nom trouve est :"+ligne);
     drap=1;
    }
   } while(ligne != null);
   
   if(drap==0)
    System.out.println("INCONNU" );
   
  }
  catch(IOException e)
  {
   e.printStackTrace();
  }
 }  
}
 
public class Fichier
{
 public static void main(String arg[])
 {
  String texte = "Voici le texte à écrire dans mon fichier cela fonctionne \n\n";
   
  String compte;
   
  System.out.println("DEBUT" );
   
  System.out.print("Entrez un nom : " );
  compte = Lecture.lireString();
     
  Fichier1 f1 = new Fichier1();
   
  System.out.println("ECRIRE" );
   
  f1.ecrire(compte,"Essai.txt" );
   
  System.out.println("LIRE" );
   
  f1.lire("Essai.txt" );
   
  System.out.println("RECHERCHE" );
   
  System.out.print("Entrez le nom recherche : " );
  String nom = Lecture.lireString();
   
  f1.recherche(nom,"Essai.txt" );
 }
}
 
Merci d'avance pour votre aide  
 

mood
Publicité
Posté le 01-03-2008 à 16:47:05  profilanswer
 

n°1703567
BifaceMcLe​OD
The HighGlandeur
Posté le 17-03-2008 à 17:12:11  profilanswer
 

Pour écrire un objet, quelle que soit sa complexité :  

Code :
  1. Personne maPersonne = ...;
  2. File fichier = new File("essai.dat" );
  3. ObjectOutputStream sortie = new ObjectOutputStream(new FileOutputStream(fichier));
  4. sortie.writeObject(maPersonne);
  5. sortie.close();


Seule condition : que Personne implémente l'interface Serializable.
Pour relire l'objet :  

Code :
  1. File fichier = new File("essai.dat" );
  2. ObjectInputStream entree = new ObjectInputStream(new FileInputStream(fichier));
  3. Personne maPersonne = (Personne) entree.readObject();
  4. entree.close();


Et voilà. C'est aussi simple que cela.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Java - fichiers - recherche

 

Sujets relatifs
[JAVA SWING] probleme avec la gestion des layout managerProblème boucle de recherche sous VBA sur Excel
recherche une date dans une txt et déplace le TXTAppeler WebService Java securisé
Pb de connexion java <-> BDD MySQL via un tunnel SSHprogramme pour supprimer fichiers après 30jrs
[JOOMLA] recherche organisation d'evenements[Algo] de recherche
moteur de recherche 
Plus de sujets relatifs à : Java - fichiers - recherche


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR