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 :

lecture et modification fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de wiss20000
    Inscrit en
    Août 2006
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 225
    Par défaut lecture et modification fichier
    salut,
    j'ai écrit un programme qui me permet de lire un fichier et de faire des modification, et pour modifier le contenu j'ai utiliser un tableau ou je stocke les ligne puis je modifie la case correspondant et je réécrit mon fichier
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    //--modifier dat 
    		// 1ière étape lecture du dat
    		String[] x=new String[7];//<-- nombre de ligne
     
    		 try {
    			   FileInputStream ips=new FileInputStream("C:\\data_spots\\getdata.dat");
    			   InputStreamReader ipsr=new InputStreamReader(ips);
    			   BufferedReader br=new BufferedReader(ipsr);
    			   String ligne;
    			   int y = 0;
    			   System.out.println(br.readLine());
     
     
    			   while ((ligne=br.readLine())!=null ) {
    			    String text = ligne;
    			    x[y]=text;
    			    y++;
    			   }
    			   br.close();
    		 }
    			  catch (Exception e) {
    			   System.out.println(e.toString());
    			  } 
     
     
    			  }
    			  x[3]= "lcd C:\\data_spots";
     
     
    			  for (int i=0;i<x.length;i++) {
     
    				  System.out.println(x[i]);
    			  }
    je ne veux pas utiliser le tableau et j'aimerais utiliser FileOutputStream
    si vous pouvez changer mon code j'en serais reconnaissant

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ((ligne=br.readLine())!=null ) {
      if(y==3){
        System.out.println("lcd C:\\data_spots");
      }else{
        System.out.println(ligne);
      }
      ... // la suite 
    }

  3. #3
    Membre confirmé Avatar de wiss20000
    Inscrit en
    Août 2006
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 225
    Par défaut
    merci,
    en fait je veux changer le contenu de la 3ième ligne dans le fichier et pas l'afficher seulement.
    comment faire ?

  4. #4
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Bonjour,

    Tu es obligé de liretout le fichier, de faire toutes les modifications que tu veux puis de réecrire le fichier. Autrement dit tu modifies la case 2 de ton tableau de String ensuite tu réecris le contenu du tableau dans un fichier du mème nom, ce qui aura pour effet d'écraser l'ancien contenu au profit du nouveau ( avec la ligne modifiée ) .

    Voilà, j'éspère avoir été clair. Si tu rencontres des problèmes n'hésite pas à poser des questions

    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre confirmé Avatar de wiss20000
    Inscrit en
    Août 2006
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 225
    Par défaut
    Citation Envoyé par afrikha
    Bonjour,

    Tu es obligé de liretout le fichier, de faire toutes les modifications que tu veux puis de réecrire le fichier. Autrement dit tu modifies la case 2 de ton tableau de String ensuite tu réecris le contenu du tableau dans un fichier du mème nom, ce qui aura pour effet d'écraser l'ancien contenu au profit du nouveau ( avec la ligne modifiée ) .

    Voilà, j'éspère avoir été clair. Si tu rencontres des problèmes n'hésite pas à poser des questions

    @+
    le problème est que je ne veux plus utilisé un tableau !
    je demandais si je peux modifier "br.readLine()" ?
    voici mon code complet
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    //--modifier dat 
    		// 1ière étape lecture du bat
    		String[] x=new String[7];//<-- nombre de ligne
     
    		 try {
    			   FileInputStream ips=new FileInputStream("C:\\data_spots\\getdata.dat");
    			   InputStreamReader ipsr=new InputStreamReader(ips);
    			   BufferedReader br=new BufferedReader(ipsr);
    			   String ligne;
    			   int y = 0;
     
     
     
    			   while ((ligne=br.readLine())!=null ) {
    			    String text = ligne;
    			    x[y]=text;
    			    y++;
    			   }
    			   br.close();
    		 }
    			  catch (Exception e) {
    			   System.out.println(e.toString());
    			  } 
     
     
    			  x[3]= "lcd C:\\data_spots;
     
     
     
     
     
               //-- 2ième étape reécrir dans mon .bat
    			  PrintWriter ecrivain;
    			  ecrivain =  new PrintWriter(new BufferedWriter
    					  (new FileWriter("C:\\data_spots\\getdata.dat")));
    			  for (int i=0;i<x.length;i++) {
    				  ecrivain.println(x[i]);
    			  }
       ecrivain.close();

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par wiss20000
    le problème est que je ne veux plus utilisé un tableau !
    Tu veux utiliser quoi alors ? une ArrayList<String> ?...
    je demandais si je peux modifier "br.readLine()" ?
    Tu ne peux pas faire de modifications directement dans le fichier, à moins que j'ai mal compris ce que tu souhaite faire...
    Bref détaille un peu plus pourqu'on puisse t'aider.

    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lecture et modification fichier
    Par alaninho dans le forum Linux
    Réponses: 1
    Dernier message: 19/04/2012, 16h46
  2. Lecture et modification d'un fichier
    Par walacouper dans le forum z/OS
    Réponses: 1
    Dernier message: 27/05/2009, 23h58
  3. Réponses: 2
    Dernier message: 24/11/2008, 10h53
  4. Réponses: 50
    Dernier message: 19/10/2007, 23h38

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