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

avec Java Discussion :

En relation avec les IO:


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut En relation avec les IO:
    Bonjour,

    J'ai une méthode qui place de l'information dans un fichier .txt

    Mon probleme en ce moment c'est que si j'utilise la methode plus d'une fois elle re-écrit par dessus ce qui à déjà été écrit. J'aimerais, qu'a chaque utilisation de la méthode l'information soit retenu.

    Cela semble facile en utilisant un string pour concatener, mais mon problème est la:

    Il doit ré-écrire sans over-writer peut-importe l'objet de la classe crée.

    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Ecriture ecris = new Ecriture();
     
    ecris.ecrireInfo("Bonjour");   // Cela est placé dans un fichier test.txt
     
    Ecriture ecris2 = new Ecriture();
     
    ecris2.ecrireInfo("Bye bye"); //Cela est placé dans un fichier test.txt
    Résultat voulu:

    Bonjour
    Bye bye
    Résultat Obtenu:

    Bye Bye // Bref, la derniere methode utilisant ecrireInfo passe sur tout dans le test.txt


    Voici la methode ecriture:
    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
    public void ecrireEtudiantDansFichier(String informationEtudiant){
     
     
    		 File fichier = new File("etudiantsInscrits.txt");
     
    			FileWriter fw;
    			String informationTemporaire="";
    			informationTemporaire += lireEtudiantDansFichier();		
     
    			try {
    				//Création de l'objet
    				fw = new FileWriter(fichier);
     
    				//On écrit la chaîne
    				informationTemporaire+=informationEtudiant;
    				fw.write(informationEtudiant);
    				//On ferme le flux
    				fw.close();
     
     
    			} catch (FileNotFoundException ex) {
     
    				System.out.println("Fichier non-trouver "+ex);
    			} catch (IOException ex) {
     
    				System.out.println("Exception IO "+ex);
    			}
     
    	}

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    la classe FileWriter a un autre constructeur qui prend en paramètre un boolean qui spécifie le mode d'écriture (ajouter ou écraser)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileWriter(File file, boolean append)
    FileWriter

  3. #3
    Expert confirmé
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Points : 4 883
    Points
    4 883
    Par défaut
    Bonjour,

    As-tu pensé aux StringBuilder et l'appel static ?

    Te voilà avec la solution normale avec l'appel d'un autre constructeur, ou de pouvoir sauvegarder en local dans un StringBuilder, le contenu de ton fichier ( Ce qui est plus lourd puisque tu devras écraser et réécrire continuellement à moins que tu synchronises tes données ).

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par herch Voir le message
    salut,

    la classe FileWriter a un autre constructeur qui prend en paramètre un boolean qui spécifie le mode d'écriture (ajouter ou écraser)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileWriter(File file, boolean append)
    FileWriter
    Merci, fonctionne comme sur des roulettes.

    @ X-plode: Je jeterais un coup d'oeil au String Builder

    -Resolu-

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2011, 08h35
  2. UML : quelle relation avec les SGBD ?
    Par startin dans le forum UML
    Réponses: 8
    Dernier message: 10/04/2007, 10h54
  3. [Etat-Transition] Relation avec les automates d'état finis vu en théorie des langages ?
    Par isma44 dans le forum Autres Diagrammes
    Réponses: 3
    Dernier message: 15/03/2007, 00h15
  4. importer des tables avec les relations
    Par guigui5931 dans le forum Access
    Réponses: 5
    Dernier message: 23/06/2006, 12h14
  5. enregistrement, probleme avec les relations
    Par Nelmo dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/04/2006, 17h23

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