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 : 60 053

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (21)
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 !

 

Commentaires et avis

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

signaler à un administrateur
Commentaire de mahlaoui le 20/05/2008 01:43:35

Merci

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

<<no stack trace available>> après lecture d'un très gros fichier [ par Sarah_tn ] Bonjour &#224; tous !!!D&#233;sol&#233;e si le sujet est redondant, mais je n'ai pas trouv&#233; mon bonheur dans le forum (et sur le net, &#233;videm construire un JTree grace a un fichier XML [ par julwoko ] voila Je suis d&#233;butant en JTree et XML et j'aimerai avoir quelque conseil ou si des personne l'avait deja fait ... J'ai un fichier xml de se ge Javamail envoi d'un mail: format html?? [ par zebulaon ] Bonjour,Je cherche à envoyer un mail au format html grace à l'API javamail.Voici le code Java que j'ai trouvé sur internet. Il fonctionne bien, j'ai f Ajout de methodes a la classe String [ par moimadmax ] Je travaille sur un programme qui lit un fichier et qui doit trouver des mot clef dans ce fichier et faire une action en fonction de ce mot clefje dec recuperer contenu de balise xml avec sax [ par lolofx ] salut, voila, je voudrais recuprer le contenu d'une balise xml choisi voila la sourcepour info nom correspond au nom de la balisefichier au nom du fic JtestArea : Taille du String limité ? [ par mrtroudbal ] Bonjour,on réalise une application Java permettant de lire des fichier texte. on lit le fichier, on passe le contenu du fichier dans un string tout se ecrire des " dans un fichier ou une string [ par nounouX ] Bonjour a tous voila j'essaye d ecrire dans un fichier de la sorte :&nbsp;&nbsp;try{&nbsp;&nbsp;&nbsp;PrintWriter sortie = new PrintWriter(new FileWri lire et ecrire une ligne dans un fichier [ par nadddd ] salut a tousen faite, je dois ecrire des lignes dans un fichier et pouvoir les lire par apresj'aimerais utiliser que des string, c'est a dire, ecrire lecture et écriture depuis une Applet [ par javinc ] Je pr&#233;cise : le fichier &#224; lire ou &#233;crire est sur le m&#234;me serveur que l'Applet.Voici mon code :m&#233;thode pour lire un fichier de longueur du string dans un fichier [ par Lucieinthesky ] J'écris une méthode qui écrit une string dans un fichier, ,je n'ai que 64 caractères et je ne sais pas pourquoi.Voici la méthodepublic static void Ecr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.