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 :

recuperation des données d'un fichier texte


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    E
    Inscrit en
    Août 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : E
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut recuperation des données d'un fichier texte
    Bonjour, enfait j'ai un petit probleme dans mon code car les données que j'ai à recuperer ressemble à ça
    a|b|c|d
    e
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string id = read.Split('|')[0]; 
    string dh = read.Split('|')[1]; 
    string source = read.Split('|')[2]; 
    string destination = read.Split('|')[3]; 
    string type = read.Split('|')[4]; 
    string note = read.Split('\n')[5];
    j'ai procédé ainsi pour recuperer mes données mais le probleme se pose dans la derniere ligne
    j'ai besoin d' un petit coup de pouce s'il vous plait

    Merci

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut moi je ferais le read dans un string et puis le split

    Genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string []items=buf.split('|');
    string id=item[0];
    // etc...

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    E
    Inscrit en
    Août 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : E
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut waf
    Bjr

    merci pour votre reponse mais j'ai pas trouvé de probleme niveau code
    le probleme se pose pour la partie retour à la ligne cad
    # read.split('\n')#
    je narrive pas à recuperer la derniere donnée

  4. #4
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Essaye de donner un exemple de la string que tu récupère en entrée pour qu'on puisse comprendre où se situe le problème.

    En plus, l'idée d'olibara est à suivre car le premier code est très sale

  5. #5
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par MaximePalmisano Voir le message
    En plus, l'idée d'olibara est à suivre car le premier code est très sale
    Oui ! tu refais le split à chaque fois, c'est peu efficace et descend (un poil) les performances. Dans une boucle ça devient une cata !

    A vu de nez, si tu as un '\n' peut-être faudrait-il utiliser un ReadLine pour lire ton fichier... Mais pour en être certains, il faudrait un exemple concret.
    ton fichier ne contient-il qu'un seul
    a|b|c|d
    e
    ou plusieurs ?
    genre :
    a|b|c|d
    e
    a|b|c|d
    e
    la logique peut subtilement changer d'un cas à l'autre

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 51
    Points
    51
    Par défaut
    Si ta chaine est du type :
    a|b|c|d
    e

    Il faudrait que tu fasses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string note = read.Split('\n')[1];
    Car le Split('\n') te renverra dans ce cas 2 éléments (d'où l'erreur quand tu fais [5]).

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par Morgan7469 Voir le message
    Si ta chaine est du type :
    a|b|c|d
    e

    Il faudrait que tu fasses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string note = read.Split('\n')[1];
    Car le Split('\n') te renverra dans ce cas 2 éléments (d'où l'erreur quand tu fais [5]).
    Je crois que tant que Wafae ne juge pas utile de nous donner plus de precision il est vain de speculer sur ce qu'il faut faire. Mais ce qui est certain c'est que l'assignation directe d'une chaine via la methode split est une mauvaise option qui ne mene pas loin !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Ceci n'est pas une bonne idée
    string note = read.Split('\n')[1];

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 65
    Points
    65
    Par défaut
    A mon avis, passe par une Regex (qui sont faites pour!).

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/04/2011, 11h55
  2. Réponses: 2
    Dernier message: 16/01/2006, 19h34
  3. Réponses: 2
    Dernier message: 05/01/2006, 00h29
  4. [VB.NET] Recuperer des données ds un fichier
    Par Aspic dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/11/2005, 09h31
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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