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

Windows Forms Discussion :

probleme ligne vide dans fichier texte


Sujet :

Windows Forms

  1. #1
    xeo
    xeo est déconnecté
    Nouveau membre du Club
    Inscrit en
    Juin 2003
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 42
    Points : 32
    Points
    32
    Par défaut probleme ligne vide dans fichier texte
    Salut a vous

    J'ai un petit soucis lors de la lecture ligne par ligne d'un fichier texte.
    Ce fichier comporte des lignes vides (sans aucun caractere) et mon code interprete cette ligne vide comme la fin du fichier et donc sort de ma boucle.

    Je vous mets mon code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    monlecteur = New StreamReader(chemin_destination)
     
    monlecteur.BaseStream.Seek(0, SeekOrigin.Begin)
     
    While monlecteur.Peek > 0
     
                    lignencours = monlecteur.ReadLine
     
    End While
     
    monlecteur.Close()
    j'ai remplacé le ".Peek > 0" par ".Peek <> Nothing" et par ".Peek <> -1" mais toujours le meme probleme, des que je lis une ligne vide, il sort de la boucle

    Merci pour votre aide.
    gnarf gnarf

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Quelle est la valeur de Peek lorsque tu sors de la boucle avec une ligne vide ?

    Moi j'ai toujours utilisé un while peek > -1 et je n'ai jamais eu de problème.

    Peut-être un problème d'encodage ?

  3. #3
    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
    Si ton fichier n'est pas un "pur fichier texte", il est possible qu'il contienne des caractères non textuels, comme le caractère nul. Dans ce cas, Peek renvoie 0, et tu sors de la boucle. Il faut donc vérifier avec "monlecteur.Peek > -1"
    Personnellement je n'utilise pas Peek, je teste plutôt la valeur de retour de ReadLine (null si c'est la fin du fichier) ou la propriété EndOfStream (true si c'est la fin du fichier)

Discussions similaires

  1. [LV2009] Supprimer les lignes vides dans un fichier texte
    Par Super2006 dans le forum LabVIEW
    Réponses: 3
    Dernier message: 11/11/2011, 14h32
  2. Supprimer une ligne vide dans un fichier texte
    Par Tibà22 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/04/2011, 16h58
  3. Probleme ligne vide dans un fichier texte ?
    Par liocifer dans le forum VBScript
    Réponses: 3
    Dernier message: 05/06/2008, 09h45
  4. probleme avec un import fichier texte dans mysql
    Par xodeax dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/07/2006, 13h24
  5. recuperer 3 float dans une ligne d'un fichier texte
    Par obiwankennedy dans le forum C++
    Réponses: 3
    Dernier message: 14/03/2006, 03h59

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