begin process at 2008 05 12 08:00:53
1 170 153 membres
57 nouveaux aujourd'hui
13 956 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ECRIRE/ LIRE UN STRING DANS UN FICHIER AVEC DES BUFFEREDWRITER ET BUFFEREDREADER


Information sur la source

Catégorie :Api Classé sous : fichier, bufferedwritter, bufferedreader, string Niveau : Débutant Date de création : 09/03/2002 Date de mise à jour : 09/03/2002 03:36:46 Vu : 47 745

Note :
7,71 / 10 - par 17 personnes
7,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

Description

oui je sais quelqu un l a deja fait mais Java presente plusieurs
presente facons de le faire donc autant vous en presenter plusieurs pour
pouvoir choisir selon le besoin

Source

  • /* lire et ecrire dans un fichier
  • par joyman555@cijix.fr.st
  • */
  • // io = input/output (entrée/sortie)
  • import java.io.*;
  • //ce package est necessaire pour executer ce programme
  • //appellez bien votre fichier Test.java
  • public class Test
  • {
  • //fonction main
  • public static void main(String args[])
  • {
  • String texteaecrire = "texte...\nsaut de ligne";
  • Lireetecrire lee = new Lireetecrire();
  • //execution de la fonction ecrire de la classe Lireetecrire avec le String texteaecrire comme argument
  • lee.ecrire(texteaecrire);
  • //execution de la fonction lire de la classe Lireetecrire
  • lee.lire();
  • }
  • }
  • class Lireetecrire
  • {
  • //fonction ecrire void = la fonction ne retourne rien
  • //mais prend comme argument la chaine de charactere(Sring) texte qui correspond a texteaecrire
  • public void ecrire(String texte)
  • {
  • //on va chercher le chemin et le nom du fichier et on me tout ca dans un String
  • String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt";
  • //on me try si jamais il y a une exception
  • try
  • {
  • //BufferedWriter a besoin d un FileWriter,
  • //les 2 vont ensemble, on donne comme argument le nom du fichier
  • //true signifie qu on ajoute dans le fichier (append), on ne marque pas par dessus
  • FileWriter fw = new FileWriter(adressedufichier, true);
  • // le BufferedWriter output auquel on donne comme argument le FileWriter fw cree juste au dessus
  • BufferedWriter output = new BufferedWriter(fw);
  • //on marque dans le fichier ou plutot dans le BufferedWriter qui sert comme un tampon(stream)
  • output.write(texte);
  • //on peut utiliser plusieurs fois methode write
  • output.flush();
  • //ensuite flush envoie dans le fichier, ne pas oublier cette methode pour le BufferedWriter
  • output.close();
  • //et on le ferme
  • }
  • catch(IOException ioe){System.out.println("erreur : " + ioe );}
  • //on "catch" l exception ici si il y en a une, et on l affiche sur la console
  • }
  • //je vais moins commenter cette partie c'est presque la meme chose
  • public void lire()
  • {
  • try
  • {
  • String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt";
  • FileReader fr = new FileReader(adressedufichier);
  • BufferedReader br = new BufferedReader(fr);
  • String texte = "";
  • int a = 0;
  • while(a<2) //petite boucle 2 fois
  • {
  • texte = texte + br.readLine() + "\n";
  • a++;
  • }
  • br.close();
  • //readLine pour lire une ligne
  • //note: si il n y a rien, la fonction retournera la valeur null
  • System.out.println(texte);
  • //on affiche le texte
  • }
  • catch(IOException ioe){System.out.println("erreur : " + ioe);}
  • }
  • }
/* lire et ecrire dans un fichier
	par joyman555@cijix.fr.st
	
	
*/	


// io = input/output (entrée/sortie)  
import java.io.*;
//ce package est necessaire pour executer ce programme


//appellez bien votre fichier Test.java
public class Test
{

	//fonction main
	public static void main(String args[])
	{
		
		String texteaecrire = "texte...\nsaut de ligne";
		
		Lireetecrire lee = new Lireetecrire();
		//execution de la fonction ecrire de la classe Lireetecrire avec le String texteaecrire comme argument
		lee.ecrire(texteaecrire);
		//execution de la fonction lire de la classe Lireetecrire
		lee.lire();
		
	
	}
	
	

}



class Lireetecrire
{

//fonction ecrire      void = la fonction ne retourne rien 
	//mais prend comme argument	la chaine de charactere(Sring) texte qui correspond a texteaecrire
	public void ecrire(String texte)
	{
		//on va chercher le chemin et le nom du fichier et on me tout ca dans un String
		String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt";
	
		//on me try si jamais il y a une exception
		try
		{
			
			//BufferedWriter a besoin d un FileWriter, 
			//les 2 vont ensemble, on donne comme argument le nom du fichier
			//true signifie qu on ajoute dans le fichier (append), on ne marque pas par dessus 
			FileWriter fw = new FileWriter(adressedufichier, true);
			
			// le BufferedWriter output auquel on donne comme argument le FileWriter fw cree juste au dessus
			BufferedWriter output = new BufferedWriter(fw);
			
			//on marque dans le fichier ou plutot dans le BufferedWriter qui sert comme un tampon(stream)
			output.write(texte);
			//on peut utiliser plusieurs fois methode write
			
			output.flush();
			//ensuite flush envoie dans le fichier, ne pas oublier cette methode pour le BufferedWriter
			
			output.close();
			//et on le ferme
			
		}
		catch(IOException ioe){System.out.println("erreur : " + ioe );}
		//on "catch" l exception ici si il y en a une, et on l affiche sur la console 


	}

	//je vais moins commenter cette partie c'est presque la meme chose
	public void lire()
	{
		
		try
		{
		
		
			String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt";
			
			FileReader fr = new FileReader(adressedufichier);
			BufferedReader br = new BufferedReader(fr);
			
			String texte = "";
			int a = 0;
				while(a<2) //petite boucle 2 fois
				{
					texte = texte + br.readLine() + "\n";
					a++;		
				}
			br.close();
			
			//readLine pour lire une ligne
			//note: si il n y a rien, la fonction retournera la valeur null
			
			
			System.out.println(texte);
			//on affiche le texte
		
		}
		catch(IOException ioe){System.out.println("erreur : " + ioe);}
		
		
	
	}

}

 

Conclusion



voila pas de zip retaper ou coller la source ;) ca vous entrainera

comme vous pouvez voir j ai mis des commentaires debutant debutant mais bon faut
bien commencer !
  • signaler à un administrateur
    Commentaire de extaze le 19/02/2004 09:15:03

    J'ai beaucoup apprécié l'effort de documentation, propre, de ce bout de source. C'est simple, clair, et surtout : efficace.

    Merci.

  • signaler à un administrateur
    Commentaire de SeeNapse le 24/02/2004 12:00:01

    SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!! SPLENDIDE !!!!!!  

  • signaler à un administrateur
    Commentaire de Dam003 le 12/04/2004 12:06:28

    Super bien expliquer, je sais maintenant ecrire et lire dans un fichier.
    Merci beaucoup.

  • signaler à un administrateur
    Commentaire de Twinuts le 22/05/2004 14:44:46 administrateur CS

    bien commenté

  • signaler à un administrateur
    Commentaire de maxinfos le 27/05/2004 10:33:04

    Excellent code source : je suis en stage à la SOCATA à Tarbes pour 6 semaines en tant que BTS Informatique et Réseau 1ère année, et ce code m'a beaucoup aidé !
    Merci

  • signaler à un administrateur
    Commentaire de Egalon le 09/06/2004 10:10:47

    Je voudrais, te décerner le césar du meilleur commentaire de source.
    Je me suis inspiré de ton code et surtout de tes explications pour mes programmes.
    Mais hélas je butte sur un détail: le caractère '\n' est très mal intérprèté par le bloc-note de winwin, il me met un carré au lieu d'un retour chariot et saut de ligne. Donc si quelqu'un a la solution.

  • signaler à un administrateur
    Commentaire de Twinuts le 09/06/2004 17:32:55 administrateur CS

    a chaque foi k tu veux ecrire  sur une nouvelle ligne et k ca ne merdouille pas sur le bloc note utilise output.newLine();

  • signaler à un administrateur
    Commentaire de Syruis le 23/06/2004 00:03:48

    pas mal du tout bon commmentaire....

  • signaler à un administrateur
    Commentaire de jprozorback le 21/08/2004 14:36:55

    tres bon mais les commentaire doivent etre entre /*  */
    et non //

  • signaler à un administrateur
    Commentaire de rabiek le 12/05/2005 23:48:20

    Salut,
    je suis pas qu'est ce que j ai fais de mauvais ... il y une erreur
    á ce niveau la
    catch(IOException ioe){System.out.println("erreur : " + ioe );}
    IOEception : can not be resolved or ist not a type





  • signaler à un administrateur
    Commentaire de bogtaya le 18/12/2005 11:09:31

    MERCI BEAUCOUP

  • signaler à un administrateur
    Commentaire de chakfu10 le 26/01/2006 17:19:18

    j arrive a ecrire sur le fichier mais j arrive pas a lire ce quil ya sur le fichier.
    en fait j ai integré ton code dans une page jsp

  • signaler à un administrateur
    Commentaire de sheorogath le 23/02/2006 21:28:19 administrateur CS

    la source serai beaucoup plus interressante si tu faisait passer trois paramettre aux fonctions :
    le chemin du fichier
    le nom du fichier
    et le contenu

    sinon je n'ai pas tres bien compris ca :
    int a = 0;
                    while(a<2) //petite boucle 2 fois
                    {
                        texte = texte + br.readLine() + "\n";
                        a++;        
                    }

    si c'est bien pour recuperer tout le fichier ca crain !! si le gars fait passer je sais pas moi une dizaien de ligne il va se faire avoir !!! remplace le par :


    StringBuilder build = new StringBuilder();
    //on demarre la lecture
    char c = (char) in.read();
    //tant que c est different du byte indiquant la fin
    //du fichier
    while (c != (char) -1) {
    //on ajoutte ce byte dans le StringBuilder
    build.append(c);
    //et on lit le suivant
    c = (char) in.read();
    }
    //on recupere le tout
    String response = build.toString();


    enfin voila sinon je salut l'effort de commentation

  • signaler à un administrateur
    Commentaire de sheorogath le 23/02/2006 21:35:28 administrateur CS

    de plus pourquoi tu met pas un String au lieu dun void comme ca on pourrais recuperer la chaine lu avec un simple return texte ;

    meme si j ecritique beaucoup ta source est pas mal mais elle pourrais etre beaucoup plus fonctionnelle

  • signaler à un administrateur
    Commentaire de mustazz le 25/03/2006 19:50:48

    c plutot reussi, si on ne prend pa on consideration la mise systematique au reseau local d une entreprise, est ce que la configuration du protocole liant les switch entre eux ne nie pas l interpretation des interuption interne propre a la machine parce que j ai eu klk probleme de lecture des socket envoye par le serveur de ma base de donnee vers tt les clients en attente dans un tompon generer aleatoirement par BufferGenerater ;
    et merci.
    //
    ===>
    on reponse a Egalon on se qui concerne la mauvaise interpretation d \n au niveau du winwin
    on doit mettre "\r\n" au lien de "\n" tt court seulement pour les fichiers binaire;

    ==>


  • signaler à un administrateur
    Commentaire de mustazz le 25/03/2006 19:52:05

    c plutot reussi;
    ===>
    on reponse a Egalon on se qui concerne la mauvaise interpretation d \n au niveau du winwin
    on doit mettre "\r\n" au lien de "\n" tt court seulement pour les fichiers binaire;

    ==>


  • signaler à un administrateur
    Commentaire de Egalon le 26/03/2006 14:13:25

    Merci les copains pour l'info, en particuliers : Twinuts (One piece) et mustazz.

  • signaler à un administrateur
    Commentaire de Lucieinthesky le 28/07/2006 18:51:12

    J'utilise un programme qui utilise les mêmes fonctions mais je n'arrive à écrire et à lire que 64 caractères.

  • signaler à un administrateur
    Commentaire de nounou21 le 25/10/2006 21:43:45

    pour lire plus et ne pas afficher de nul si la variable et porté a xxxxx... moi aime mieux!!! ViVE La ViE!!!

    String texte = "";
              
                     while((texte = br.readLine()) != null)
                     {
                     System.out.println(texte);
                        
                        
                     }
                 br.close();
          
            
             }
             catch

  • signaler à un administrateur
    Commentaire de algo_jav le 11/04/2007 09:22:27

    Merci c'est formidable

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS