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

C# Discussion :

[Fichier] caractère fin de ligne avec File.WriteAllLines


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 70
    Points : 51
    Points
    51
    Par défaut [Fichier] caractère fin de ligne avec File.WriteAllLines
    Bonjour,

    Je travaille en C# (2.0) avec VS2008.

    Je modifie un fichier texte qui est géré par un OS UNIX. Les caractères de fin de ligne sont donc des Line Feed (LF) et non des CR + LF (mode windows).

    Le fichier n'étant pas très gros j'utilise les méthodes File.ReadAllLines et File.WriteAllLines. Mon problème est que je n'arrive pas à trouver un moyen de réécrire le fichier avec WriteAllLines en lui faisant comprendre que je veux des caractères de fin de ligne compatible UNIX.

    Existe-t-il un mode d'encodage spécifique?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.WriteAllLines(fichier.FullName, nouveauFichierLignes, Encoding.??);
    Merci d'avance!

    Rastamath69
    Rastamath69,

    Plus on travaille , plus on a des problèmes, donc plus on a de chances d'en résoudre!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    L'encodage spécifie comment les caractères sont codés en binaire, ça n'a pas de lien avec le format des fins de ligne.

    Le plus simple, c'est sans doute d'utiliser un StreamWriter, dans lequel tu peux spécifier le caractère de fin de ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    using (StreamWriter writer = new StreamWriter(fichier.FullName))
    {
        writer.NewLine = "\n";
        foreach(string line in nouveauFichierLignes)
        {
            writer.WriteLine(line);
        }
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 70
    Points : 51
    Points
    51
    Par défaut
    Bonjour,

    Merci pour la précision, je ne savais pas que le format du caractère de fin de ligne n'avait aucun lien avec l'encodage! :-)

    Sinon je m'en suis effectivement sorti en stockant dans une chaine de caractère mon texte avec les caractères fin de ligne "\n" (ce que je pouvais me permettre vu que mon fichier ne fait que quelques Ko!

    Ensuite un simple appel à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String Aecrire = String.Empty;
    //Traitement
    File.WriteAllText(fichier.FullName, Aecrire);
    et le tour est joué!

    Rastamath69
    Rastamath69,

    Plus on travaille , plus on a des problèmes, donc plus on a de chances d'en résoudre!

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/06/2009, 16h58
  2. Suppression de caracteres en fin de ligne avec awk ou sed
    Par julinho99 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 04/11/2008, 18h03
  3. pb caractère fin de ligne windows
    Par solen dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2008, 19h57
  4. Caractère en fin de ligne avec regsub
    Par sylvain_54 dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 14/08/2008, 18h08
  5. Ecrire un CLOB dans un fichier sans fin de ligne
    Par tedparker dans le forum SQL
    Réponses: 3
    Dernier message: 20/07/2007, 10h05

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