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

Langage Java Discussion :

Probleme gestion fichier


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut Probleme gestion fichier
    bonjour a tous,
    Voila je voulais creer un programme en java qui enregistre dans un fichier tous les anagramme d'un mot prédéfini (héhé, faut bien passer le temps)

    Seulement voila, la solution la plus simple pour trouver tous les anagramme était la récurrence, mais si dans ma fonction récurrente je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     FileWriter fw = new FileWriter ("liste.txt");
    	 			BufferedWriter bw = new BufferedWriter (fw);
    				PrintWriter pw = new PrintWriter (bw);
    a chaque fois mon fichier liste.txt est effacé, puis recréé.
    j'ai donc eu l'idée de le mettre directement dans ma classe :

    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
    public class Anagramme {
         try{
                     FileWriter fw = new FileWriter ("liste.txt");
                     BufferedWriter bw = new BufferedWriter (fw);
                    PrintWriter pw = new PrintWriter (bw);
            } catch (IOException e) {}
     
    //Fonction récurrente
     
    public static void main(String[] args) {
    		char [] nom = new char [4];
    				nom[0]='a';
    				nom[1]='b';
    				nom[2]='c';
    				nom[3]='d';
    		//appel a la fonction recurente;
     
     }
     
     }
    mais j'ai une erreur au niveau du try

    Je ne vois vraiment pas comment je peu utiliser les fichiers dans toutes mes fonctions a la fois sans définir globalement l'ecriture dans le fichier, chose qui est apparement impossible.

    Pourriez vous m'aider s'il vous plait?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Par défaut
    Oulah, il y a du boulot, j'ai l'impression que tu débutes en Java.

    Il n'est pas possible d'écrire un bloc try/catch en tant que membre de classe. Je ne vais pas entrer dans les considérations d'architecture, alors pour résoudre ton problème directement, le plus simple est de définir une variable de type Writer dans ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class Anagramme {
        private Writer output;
    }
    Puis il te faut initialiser cette variable. Dans ton cas, tu as adopté une approche procédurale, alors le plus simple est d'utiliser un bloc d'initialisation static :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Anagramme {
        static {
            try{
                     FileWriter fw = new FileWriter ("liste.txt");
                     output = new BufferedWriter (fw);
            } catch (IOException e) {}
        }
        private static Writer output;
     
        public static void main(String[] args) {
            [...]
        }
    }

  3. #3
    Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut
    Merci pour ta réponse Verbose,
    En regardant la Doc j'ai remarqué également que, passé avec l'argument "true" en deuxième argument, la fonction FileWriter n'efface pas le fichier, j'ai donc réussi a résoudre mon problème en créant une fonction de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public static void Fichier(String strl){
     
                                try{
                                    FileWriter fw = new FileWriter ("liste.txt",true);
                                    BufferedWriter bw = new BufferedWriter (fw);
                                    PrintWriter pw = new PrintWriter (bw);
                                    pw.println(strl);
                                    pw.close();
                                }catch (IOException e) { System.out.println("erreur fichier");}
     
                            }
    Cela permet d'ajouter a la ligne la chine passé en parametre a chaque appel de la fonction.
    Voila, si quelqu'un avait le même problème que moi.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par eccsup Voir le message
    Voila, si quelqu'un avait le même problème que moi.
    Je lui conseillerais alors de ne pas passer son temps à ouvrir et fermer le même fichier, et de plutôt passer une référence vers le Writer dans son appel récurrent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. débutant : probleme gestion fichier texte c++
    Par gariandu60 dans le forum C++
    Réponses: 10
    Dernier message: 07/05/2008, 17h35
  2. Problème de gestion fichiers
    Par glutock dans le forum ASP
    Réponses: 2
    Dernier message: 08/04/2004, 11h55
  3. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2004, 19h22
  4. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    Réponses: 11
    Dernier message: 11/11/2003, 18h53
  5. [LG]Problème de fichier
    Par Andy_24DB dans le forum Langage
    Réponses: 11
    Dernier message: 03/11/2003, 19h07

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