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 :

Lire une partie spécifique d'un fichier


Sujet :

C#

  1. #1
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Points : 321
    Points
    321
    Par défaut Lire une partie spécifique d'un fichier
    Bonjour! Je commence à m'améliorer en C# et j'arrive à une partie que je ne comprend pas du tout! Lire un fichier....

    Je sais créer un fichier et écrire à l'intérieur avec la fonction StreamWriter :

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                StreamWriter Mavariable = new StreamWriter(@"Monfichier.hgsc", true, Encoding.Unicode);
                Mavariable .WriteLine("{0}\n{1}", "du texte....", "du texte2....");
                Mavariable .Close();
    Maintenant je voudrais lire mon fichier "Monfichier.hgsc" et la ligne "du texte2....".



    Je c'est qu'il y a la fonction StreamReader, mais je n'arrive pas à lire la ligne au-dessus. Merci d'avance pour votre aide?


  2. #2
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Bonjour,

    Le principe du StreamReader pour lire un fichier ligne par ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    string tmp;
    using (StreamReader oStreamReader = new StreamReader(@"Monfichier.hgsc"))
    {
         while (!oStreamReader.EndOfStream)
         {
              tmp = oStreamReader.ReadLine();
               // Faire le traitement que tu souhaites sur ta ligne
         }
    }
    May the Troll, be with you
    (Que le troll soit avec toi)

  3. #3
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Points : 321
    Points
    321
    Par défaut
    Bonsoir Debug! Je ne comprend pas trop bien le code que tu viens de poster... Car par exemple moi je voudrais juste récupérer une chaine qui est par exemple "Dutexte2...." qui se situe à la ligne 2 du fichier et transférer ce code dans un label.


  4. #4
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Si le texte que tu veux se trouve toujours en ligne 2 alors fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    using (StreamReader oStreamReader = new StreamReader(@"Monfichier.hgsc"))
    {
         oStreamReader.ReadLine(); // Va lire la première ligne
         monlabel.Text = oStreamReader.ReadLine(); // va mettre la 2ième ligne dans ton label
    }
    May the Troll, be with you
    (Que le troll soit avec toi)

  5. #5
    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

    Pour faire ca du est de toute façon obligé de lire ton fichier ligne par ligne en utilisant si tu veux un iterateur et traiter la ligne que tu souhaite en fonction de ton iterateur;

    Cela etant il n'est jamais bon de se fier a la position ordinale d'une ligne dans un fichier texte. Si possible fait un petit traitement a chaque ligne pour identifier la bonne !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  6. #6
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Points : 321
    Points
    321
    Par défaut
    Eh ben! Je vous dit merci pour ces conseils! C'est comme même compliqué au première abord tout ça! Mais je vais m'en sortir...

    Juste comme ça, est-ce le seul moyen d'écrire ou de lire un fichier... Ou il existe une méthode plus efficace (même si doit-être complexe).

    Sinon pour l'instant, je vais apprendre le cryptage de fichier ce qui est encore autre chose...

    Mais pour l'heure, je vais allez dormir pour que la nuit me porte conseille, car je trouve de nouvelle chose tout les matins en me réveillant....


  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
    Bonsoir

    Tu a aussi le binarywriter et reader !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  8. #8
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par terminator59140
    Juste comme ça, est-ce le seul moyen d'écrire ou de lire un fichier
    Ce n'est pas le seul moyen, comme olibara l'a indiqué. Tout dépend du fichier à lire/écrire (fichier texte, binaire, XML, ...) et de ce que l'on cherche à faire avec

    BinaryReader, BinaryWriter, StreamReader, StreamWriter, XmlTextReader, XmlTextWriter, ... bref le framework nous donne de quoi faire ^^
    Pas de questions techniques par MP

  9. #9
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Points : 321
    Points
    321
    Par défaut
    Et a quoi sert la fonction BinaryWriter ou Reader?

    Et je voulais aussi savoir comment remplacé ses données par d'autre en les ré-écrivant dessus sans qu'il m'en rajoute sur de nouvelle ligne?

    Exemple:

    Si j'ai écrit sur la ligne 1, je sauvegarde et je veux que ses données que je viens de sauvegarder sont sur la ligne 1 et non sur la ligne 2?


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

Discussions similaires

  1. [WM17] Lire une ligne spécifique d'un fichier.
    Par Papach58 dans le forum Windev Mobile
    Réponses: 3
    Dernier message: 11/03/2014, 23h42
  2. [Débutant] Lire une ligne spécifique depuis un fichier
    Par Sperafico dans le forum VB.NET
    Réponses: 7
    Dernier message: 27/01/2012, 13h00
  3. Lire une ligne spécifique dans un fichier texte
    Par ZRemi dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/04/2010, 13h58
  4. Réponses: 55
    Dernier message: 16/11/2008, 17h32
  5. [VB6]Lire une partie d'un fichier .txt
    Par patoch76 dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 02/05/2006, 20h49

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