Java - fichiers - recherche - Java - Programmation
Marsh Posté le 17-03-2008 à 17:12:11
Pour écrire un objet, quelle que soit sa complexité :
Code :
|
Seule condition : que Personne implémente l'interface Serializable.
Pour relire l'objet :
Code :
|
Et voilà. C'est aussi simple que cela.
Marsh Posté le 01-03-2008 à 16:47:05
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