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 :

écriture fichier, saut de ligne


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Par défaut écriture fichier, saut de ligne
    salut

    j'ai un problème étrange dans le traitement d'un fichier, je fais le traitement par exemple ci-dessous
    le tout a été compilé sous une machine linux 64 bits avec java 1.6 pour être compatible 1.4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FileWriter out = new FileWriter("test.txt", true);
    BufferedWriter writer = new BufferedWriter(out);
    writer.write("\n" + "allo");
    writer.close();
    ça fonctionne sur 4 machines avec la jvm 1.6, windows et linux

    pour une machine windows avec java 1.5, il y a double saut de ligne

    pour que ça fonctionne sur la machine qui cause problềme j'ai du faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FileWriter out = new FileWriter("test.txt", true);
    BufferedWriter writer = new BufferedWriter(out);
    writer.write("allo");
    writer.flush();
    writer.close();
    quelqu'un aurait une idée?

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

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

    sous Unix et Windows le "\n" n'est pas interprété de la même manière.

    Essaye de récupérer la propriété line.separator du système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static String newline = System.getProperty("line.separator");
    http://download.oracle.com/javase/1....operties%28%29

  3. #3
    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
    je crois surtout que à la fin de ton fichier txt, il y avait déjà un saut de ligne

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    je crois surtout que à la fin de ton fichier txt, il y avait déjà un saut de ligne
    j'avais vérifié ça... mais non

    toute les lignes il y avait un lf et sur la dernière ligne non... donc j'ai mis \n pour sauter la ligne...

    or sur la machine qui cause problème le \n c'est de trop...

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Par défaut
    après avoir chercher longtemps et harcelé la personne, j'ai finalement su qu'elle su qu'elle avait modifié les fichiers.....

    moi qui pensait avoir affaire à un bug bizzare de la jvm...

  6. #6
    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
    le fait que si tu mette rien ca saute montre bien qu'il y a un caractère de saut en fin de fichier. Maintenant il est probablement pas interprété par cat, mais interpreté par notepad.

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Par défaut
    Citation Envoyé par Auteur Voir le message
    bonjour,

    sous Unix et Windows le "\n" n'est pas interprété de la même manière.

    Essaye de récupérer la propriété line.separator du système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static String newline = System.getProperty("line.separator");
    http://download.oracle.com/javase/1....operties%28%29
    au début, j'avais pensé à ça... mais non

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

Discussions similaires

  1. [PHP 5.0] Lecture de fichier (saut de ligne)
    Par Awery dans le forum Langage
    Réponses: 2
    Dernier message: 21/08/2012, 09h29
  2. Écriture et saut de ligne
    Par CE.KA dans le forum Langage
    Réponses: 5
    Dernier message: 14/11/2009, 17h58
  3. Réponses: 2
    Dernier message: 29/10/2008, 20h54
  4. [DOM] Problème de saut de ligne à l'écriture d'un fichier xml
    Par Sogekink dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 18/07/2007, 15h39
  5. [JtextArea] Transmetre les sauts de ligne à un fichier
    Par romuluslepunk dans le forum Composants
    Réponses: 4
    Dernier message: 04/08/2005, 21h34

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