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 :

Ecrire dans un fichier sans effacer le reste


Sujet :

Langage Java

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut Ecrire dans un fichier sans effacer le reste
    Bonjour.
    Je suis débutant et j'aimerais savoir comment faire pour rajouter une ligne dans un fichier sans que cela efface tout le reste.

    Voici ce que j'ai essayé:
    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
     
    System.out.println("Quel est le titre?");
    				    String titre = Clavier.lireString();
    				    try {
    				    	BufferedReader aLire= new BufferedReader(new FileReader("titres.txt"));
    						PrintWriter aEcrire = new PrintWriter(new BufferedWriter(new FileWriter("titres.txt")));
     
    					    String machin=aLire.readLine();
    						do{
    							aEcrire.println(machin);
    							machin =aLire.readLine();
     
    							}while(machin!=null);
    						aEcrire.println(titre);
    						aEcrire.close( );  
    					} catch (IOException e) {
    						e.printStackTrace();
    						System.exit(-1);
    					}

    Sauf que avec cela il y a alors ecrit dans mon fichier

    null
    titre

    et tout ce qui etait là avant a été éffacé.
    Où fais-je une erreur?

    HuBear

  2. #2
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Salut et bienvenue sur les forums de Developpez

    Pour écrire dans un fichier autre qu'à la fin, il faut écrire tout le début dans un fichier temporaire, puis tu insères les nouvelles données dans le fichier temporaire, puis tu ajoutes le reste du fichier d'origine dans le temporaire. Tu supprimes l'ancien fichier, tu renommes le temporaire, et voilà.

    Nas'

  3. #3
    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


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

  4. #4
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Ah au temps pour moi. En relisant, je me rends compte que j'avais mal compris. Je pensais qu'il voulait ajouter au milieu du fichier...

    Nas'

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut autre solution
    Merci pour vos reposnes si rapides; meme si la tienne ne repondait pas vraiment au sujet Naski

    afrikha le probleme avec fileoutputStream c'est qu'on ne peut pas rajouter une String (ou alors j'ai pas tres bien compris).

    Voici ce que j'ai trouvé ailleurs depuis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    try
    {
        String filename= "MyDataFile.txt";
        boolean append = true;
        FileWriter fw = new FileWriter(filename,append);
     
        fw.write("add a line\n");//appends the string to the file
        fw.close();
    }
     
    catch(IOException ioe)
    {
        System.err.println("IOException: " + ioe.getMessage());
    }
    Cette methode marche tres bien.
    Merci quand meme
    Babaye
    HuBear

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/04/2008, 16h49
  2. Ecrire dans un fichier. . . sans fichier
    Par levit dans le forum Linux
    Réponses: 2
    Dernier message: 05/09/2007, 17h12
  3. Ecrire dans un fichier sans effacer son ancien contenu.
    Par Mysti¢ dans le forum Général Python
    Réponses: 4
    Dernier message: 03/11/2006, 15h18
  4. [VBA-E]Ecrire dans un fichier sans l'ouvrir (ou dans un fichier invisible)
    Par bandit boy dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/05/2006, 18h14
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 16h44

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