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 :

Saut de ligne fichier texte depuis un JTextArea


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2010
    Messages : 116
    Points : 98
    Points
    98
    Par défaut Saut de ligne fichier texte depuis un JTextArea
    Bonjour,
    voici mon soucis :

    Je récupère les données saisies dans un JTextArea, pour ensuite les enregistrées dans un fichier .txt
    Mais voilà, les données sont représentées par une seule ligne et les sauts de ligne sont représentées par des [] (des carrés).
    Je voudrais que les données enregistrées dans mon fichier texte soit représentées telle qu'elles ont été saisies dans le JTextArea...
    Comment faire ? Merci à vous !

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut.
    tu utilise la classe BufferedWriter pour écrire dans un fichier et la méthode ton_buffered.newLine() pour le saut de ligne.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2010
    Messages : 116
    Points : 98
    Points
    98
    Par défaut
    Actuellement j'utilise simplement un write de FileWriter.
    Pour faire mes sauts de ligne dans mon fichier je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("line.separator")
    Mais là mon problème vient du fait que j'écris la valeur de mon text area dans mon fichier mais ça donne ceci ;

    si j'écris dans area1 :
    salut
    comment
    vas tu ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textfile.write(area1.getText());
    Dans mon fichier .txt j'obtiens :



    Uploaded with ImageShack.us

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2010
    Messages : 116
    Points : 98
    Points
    98
    Par défaut
    J'ai trouvé en créant un petit algo mais si il y a une solution meilleur je suis preneur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    		// Correction du probleme des retours chariots dans les fichiers txt Windows
    				String area1text = new String(area1.getText());
    				// On parcourt la chaine de caractère
    				for(int i=0;i<area1text.length();i++)
    				{
    					// Si on à un retour chariot dans la chaine de caractère
    					if(area1text.charAt(i) == 0x0A)
    						// Alors on utilise line.separator pour écrire le retour chariot
    						textfile.write(System.getProperty("line.separator"));
    					else
    						// Sinon on écrit caractère par caractère dans le fichier
    						textfile.write(area1text.charAt(i));
    				}

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    En résumé ton problème est que pour Windows, une fin de ligne est "\r\n" alors que pour Java, c'est "\n".

    Donc, dans ton JTextArea, les fins de lignes sont des "\n", mais dans ton fichier texte, tu veux les enregistrer comme "\r\n" (ou comme System.getProperty("line.separator") si tu veux rester compatible avec l'OS en cours d'utilisation.)

    Pour remplacer tous les "\n" par ce que tu veux, il suffit de faire un replaceAll() sur la String récupérée du JTextArea :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text = text.replaceAll("\n", System.getProperty("line.separator"));
    Et voilà.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2010
    Messages : 116
    Points : 98
    Points
    98
    Par défaut
    thelvin -> Super merci !
    C'est exactement ça.
    J'ai peut être pas très bien expliqué mais tu as bien compris mon problème.
    Ciao

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 96
    Points : 85
    Points
    85
    Par défaut
    String line_separator = System.getProperty("line.separator");

    String str = monTextArea.getText();
    str = str.replaceAll("\n", line_separator);
    out.write(str);

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

Discussions similaires

  1. Saut de ligne fichier texte
    Par DiR95 dans le forum SDL
    Réponses: 8
    Dernier message: 26/11/2014, 10h29
  2. Suppression ligne fichier texte
    Par stephane92400 dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 25/12/2009, 17h14
  3. [VBA-E] Derniere ligne fichier texte
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 72
    Dernier message: 13/04/2006, 13h07
  4. [JAR]ouverture de fichier texte depuis executables jar
    Par julien31 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/03/2005, 16h53
  5. Réponses: 2
    Dernier message: 03/12/2004, 10h27

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