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 :

Ecrire dans un fichier dans une ligne spécifique


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2013
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 102
    Points : 43
    Points
    43
    Par défaut Ecrire dans un fichier dans une ligne spécifique
    Bonjour ,je veut écrire dans un fichier txt ,dans une ligne spécifique sans effacer son contenue mais ca ne marche pas j'ai essai deux codes :
    Le premier -->
    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 static void ecrir_ligne_fichier(int num_ligne, String path,String texte) throws IOException {
     
                   FileWriter  fichiergraph = new FileWriter(path,true);
                     BufferedWriter output = new BufferedWriter(fichiergraph);
                    int compt=1;
                    while ( compt<=num_ligne){ 
                             compt++;
                             output.write("\n");
     
                           }
     
                    output.write(texte);
                    output.close();
         }
    Le deuxiéme code consiste à lire les lignes du fichier ensuite écrire dans la ligne voulu voici mon code
    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
        public static void ecrir_ligne_fichier(int num_ligne, String path,String texte) throws FileNotFoundException, IOException {
     
                    String l = null,ligne=null;
     
                    int compt=0;
     
                    FileReader  fichiergraph = new FileReader(path);
     
                    BufferedReader br = new BufferedReader(fichiergraph);
     
     
                    FileWriter  fichiergraphe = new FileWriter(path,true);
                     BufferedWriter output = new BufferedWriter(fichiergraphe);
     
                    while ((ligne=br.readLine())!=null && compt<=num_ligne){ 
                             compt++;
     
                           }
     
                     output.write(texte);
                    br.close();
                    output.close();
        }
    Je ne comprend pas ou est le problème de l'aide s'il vous plaie j'en est vraiment besoin merci d'avance

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    ben le problème, c'est que tu ouvres un fichier en écriture, tu écris dedans ta variable texte, tu fermes, et puis c'est tout.
    À aucun moment tu ne manipules l'objet output pour lui dire "Ah, au fait, la ligne où je veux que tu écrives, c'est celle-ci !" Et donc il ne devine pas que tu veux écrire ailleurs que là où il va forcément le faire : à la fin du fichier, comme convenu.

    Écrire au milieu d'un fichier texte, c'est impossible. Ni en Java ni ailleurs. Les fichiers, ça ne marche pas comme ça.
    Pour modifier un fichier texte, il faut le charger en mémoire, faire les modifications en mémoire, puis effacer le fichier et le réécrire avec les changements.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Si je comprends bien tu veux ajouter une ligne (ou remplacer) une ligne a bien précise dans un fichier.

    Tu dois donc, lire ligne/ligne, ecrire chaque ligne dans un nouveau fichier. Gérer le cas ou tu arrives sur la ligne voulue, et continue a lire et écrire chaque ligne.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/03/2014, 13h45
  2. Écrire dans un fichier XML à une ligne précise
    Par ballantine's dans le forum Langage
    Réponses: 24
    Dernier message: 10/11/2009, 15h15
  3. Réponses: 55
    Dernier message: 16/11/2008, 17h32
  4. Ecrire dans un fichier a une ligne spécifié ?
    Par stuffy dans le forum Général Python
    Réponses: 2
    Dernier message: 21/06/2008, 14h12
  5. Ecriture dans une ligne spécifique d'un fichier texte
    Par X-plode dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 15/07/2007, 08h46

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