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 des caracteres à partir d'un fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Par défaut Lecture des caracteres à partir d'un fichier
    salut a tous
    bon j ai un probleme avec la lecture d'un fichier caractere par caractere puis les copier dans un autre fichier
    j ai
    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
     
    /*POUR ECRIRE DANS UN FICHIER*/
    import java.io.*;
    import java.util.*;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    public class TBW {
      protected String destination;
     
      public TBW(String destination) {
        this.destination = destination;
        traitement();}
     
      public static void main(String args[]) {
        new TBW("function1.c");
      }
     
      private void traitement() { 
        try {
          String ligne ;
     
          BufferedWriter fichier = new BufferedWriter(new FileWriter(destination));
     
          fichier.write("#define INT 1");
          fichier.newLine();
          fichier.write("#define ID 2");
          fichier.newLine();
    		fichier.write("#define OP 3");
          fichier.newLine();
    		fichier.write("int val");
          fichier.newLine();
          fichier.close();
        } catch (Exception e) {
          e.printStackTrace();
        } 
    	 }
    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
    /* POUR LIRE A PARTIR DE FFFF.TXT ET COPIER LE CONTENU DANS AAAA.TXT*/	  
     
     
    public static void copyCharacters() throws IOException { 
    FileReader inputStream = null;
    try { 
    inputStream = new FileReader("FFFF.txt"); 
    int c;
     while ((c = inputStream.read()) != -1) { 
     
    BufferedWriter fichier = new BufferedWriter(new FileWriter("AAAA.txt"));
    fichier.write(c); 
     
    } } finally 
    { 
    if (inputStream != null) { 
    inputStream.close(); } 
     
    } } 
     }
    pour la premier partie ca marche
    mais la deuxieme partie non je ne trouve ni le fichier AAAA.txt ni les caractere dedans
    ou est le probleme
    merci d'avance

  2. #2
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Dans la 2° partie, tu ne fais ni flush, ni close sur ton fichier.

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Par défaut
    donc j'ai mis le flush et le close

    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
     
    /* POUR LIRE A PARTIR DE FFFF.TXT ET COPIER LE CONTENU DANS AAAA.TXT*/	  
     
     
    public static void copyCharacters() throws IOException { 
    FileReader inputStream = null;
    try { 
    inputStream = new FileReader("FFFF.txt"); 
    int c;
     while ((c = inputStream.read()) != -1) { 
     
    BufferedWriter fichier = new BufferedWriter(new FileWriter("AAAA.txt"));
    fichier.write(c);
    }
    fichier.flush();
    fichier.close();}
    finally 
    { 
    if (inputStream != null) { 
    inputStream.close();
     
    }}
    }}
    mais ca marche pas

    TBW.java:53: cannot find symbol
    symbol : variable fichier
    location: class TBW
    fichier.flush();
    ^
    TBW.java:54: cannot find symbol
    symbol : variable fichier
    location: class TBW
    fichier.close();}
    ^
    2 errors
    ps: je suis debutante "null" en java

  4. #4
    Membre éprouvé Avatar de jean.2edi
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 106
    Par défaut
    Tu as déclaré ton fichier en sortie dans ta boucle :
    • Pour chaque caractère lu tu déclares et crées le fichier cible !
    • Ton fichier cible devrait être vide, ou ne contenir que le dernier caractère lu.
    • Ensuite, à la fin de la boucle, tu essaies de fermer ton fichier qui n'est plus vu par le compilateur...

    Le code correct est plutôt du genre :
    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
     
    	FileReader inputStream = null;
    	try { 
    		inputStream = new FileReader("FFFF.txt"); 
    		BufferedWriter fichier = new BufferedWriter(new FileWriter("AAAA.txt"));
    		int c;
    		while ((c = inputStream.read()) != -1) { 
     
    			fichier.write(c);
    		}
    		fichier.flush();
    		fichier.close();}
    	finally { 
    		if (inputStream != null) { 
    			inputStream.close();
    		}
    	}
    Remarque : Le flush est inutile avant le close...

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Par défaut
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    /*POUR ECRIRE DANS UN FICHIER*/
    import java.io.*;
    import java.util.*;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    public class TBW {
    protected String destination;
     
    public TBW(String destination) {
    this.destination = destination;
    traitement();}
    public static void main(String args[]) {
    new TBW("function1.c");
    copyCharacters(); }
     
     
    private void traitement() { 
    try {
          String ligne ;
          BufferedWriter fichier = new BufferedWriter(new FileWriter(destination));fichier.write("#define INT 1");
          fichier.newLine();
          fichier.write("#define ID 2");
          fichier.newLine();
    		fichier.write("#define OP 3");
          fichier.newLine();
    		fichier.write("int val");
          fichier.newLine();
          fichier.close();
        } catch (Exception e) {
          e.printStackTrace();
        } 
    	 }
     
     
    /* POUR LIRE A PARTIR DE FFFF.TXT ET COPIER LE CONTENU DANS AAAA.TXT*/	  
     
     
    public static void copyCharacters() throws IOException { 
    FileReader inputStream = null;
    try { 
      inputStream = new FileReader("FFFF.txt");
      BufferedWriter fichier = new BufferedWriter(new FileWriter("romaroma.txt"));
      int c; 
      while ((c = inputStream.read()) != -1) 
      { fichier.write(c); } 
      fichier.flush(); 
      fichier.close();} 
    finally { if (inputStream != null) { inputStream.close(); } } 
     
     
     
     
    }}
    quand je compile ce programme
    je trouve
    TBW.java:16: unreported exception java.io.IOException; must be caught or declared to be thrown
    copyCharact

  6. #6
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Pour ce genre de problème, la FAQ est ton amie.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/04/2007, 02h12
  2. Réponses: 8
    Dernier message: 22/08/2006, 12h51
  3. Réponses: 4
    Dernier message: 19/03/2006, 15h20
  4. [C] lecture des n lignes d'un fichier
    Par felicity dans le forum C
    Réponses: 12
    Dernier message: 12/01/2006, 23h12
  5. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 21h05

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