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 à la fin d'un fichier.txt => script faq marche pas


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut Ecrire à la fin d'un fichier.txt => script faq marche pas
    Bonsoir à tous !!!

    Je souhaite écrire à la fin d'un fichier texte.
    J'ai regarder ICI.
    Mais ça a fonctionné qu'une seule fois et maintenant ça écrit tout sur la même ligne ...

    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
     
    	public void Ecrire(String fichier, String txt) throws IOException {
     
    		FileWriter writer = null;
    		try {
    			writer = new FileWriter(fichier, true);
    			writer.write(txt, 0, txt.length());
    		} catch (IOException ex) {
    			ex.printStackTrace();
    		} finally {
    			if (writer != null) {
    				writer.close();
    			}
    		}
    	}
    Aucun erreur mais ça ne va pas à la ligne !

    Une idée? merci d'avance pour votre aide!

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    le code fonctionne très bien.... Les données sont bien écrites à la fin du fichier.

    Aucun erreur mais ça ne va pas à la ligne !
    Dans ce cas tu n'as pas oublié de rajouter un "\n" à la fin de la chaine de caractères que tu écris dans le fichier ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Dans le tuto il n'y est pas.
    Mais même avec ça ne retourne pas à la ligne...

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut correction de la balise [QUOTE]
    Citation Envoyé par nims Voir le message
    Dans le tuto il n'y est pas.
    La FAQ précise bien "à la fin du fichier texte". Les retours à la ligne sont des caractères comme les autres, tu dois les ajouter pour faire des nouvelle lignes.
    Mais même avec ça ne retourne pas à la ligne...
    Ca devrait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String texte = "texte à insérer à la fin du fichier\n"; // rajoute le texte puis une nouvelle ligne
    String texte2 = "\ntexte à insérer à la fin du fichier"; // rajoute une nouvelle ligne puis le texte.

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    je viens de tester. Effectivement avec un \n à la fin de la chaine il n'y a pas de retour à la ligne mais si tu écris \r\n à la fin de la chaine tu as bien un retour à la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try
    {
    	Ecrire("monFichier.txt","coucou tout le monde\r\n");
    }
    catch(IOException ex)
    {
     
    }
    Si j'appelle 5 fois la fonction Ecrire(), "monFichier.txt" contient donc
    coucou tout le monde
    coucou tout le monde
    coucou tout le monde
    coucou tout le monde
    coucou tout le monde

  6. #6
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Effectivement avec un \n à la fin de la chaine il n'y a pas de retour à la ligne mais si tu écris \r\n à la fin de la chaine tu as bien un retour à la ligne
    Ce n'est pas portable, il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String lineSeparator = System.getProperty("line.separator");
    Ecrire("monFichier.txt","coucou tout le monde" + lineSeparator);

  7. #7
    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
    En réalité, il faut utiliser la convention de fin de ligne dont on a besoin.
    - Si on fait des fichiers qui utilisent \n, il faut mettre \n.
    - Si on fait des fichiers qui utilisent \r\n, il faut mettre \r\n.
    - Si on fait des fichiers qui sont à ouvrir avec les outils de base de l'OS, il faut utiliser System.getProperty("line.separator").
    - Si on fait des fichiers qui utilisent \r (rare), il faut mettre \r.

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

Discussions similaires

  1. Ecrire à la suite d'un fichier txt
    Par scriptman83 dans le forum VBScript
    Réponses: 3
    Dernier message: 23/02/2009, 14h20
  2. pb : Ecrire à la fin d'un fichier
    Par donkeyquote dans le forum C++
    Réponses: 1
    Dernier message: 03/02/2008, 00h26
  3. Ecrire valeurs de TextFields dans fichier txt
    Par piklas dans le forum Général Python
    Réponses: 1
    Dernier message: 30/10/2007, 13h01
  4. Ecrire à la fin d'un fichier
    Par Razgriz dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 20/10/2007, 13h00
  5. ecrire à la fin d'un fichier
    Par bonjour69 dans le forum C
    Réponses: 2
    Dernier message: 20/04/2007, 11h17

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