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 :

problème avec ReadToEnd() [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut problème avec ReadToEnd()
    Bonjour,

    Je commence à programmer en C# et tente donc de maitriser les bases.

    Afin de lire le contenu d'un fichier texte j'ai saisi le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     Boolean ChargeFichier(String f, Boolean showError)
            {
                System.IO.StringReader SR;
                String tx;
                try //essaye d'ouvrir le fichier en lecture
                {
                    SR = new System.IO.StringReader(f);
                }
                catch (System.IO.IOException ex)
                {
                    if (showError) MessageBox.Show(ex.StackTrace);
                    return (false);
                }
                try //essaye de lire tout le fichier
                {
                    tx = SR.ReadToEnd();
                }
                catch (System.IO.IOException ex)
                {
                    if (showError) MessageBox.Show(ex.StackTrace);
                    return (false);
                }
                SR.Close();
                TempText = tx;
                return(true);
            }
    Le problème est que j'obtiens dans TempText le path de men fichier et non pas son contenu...et je ne comprends pas pourquoi !

    Toute aide sera la bienvenue

  2. #2
    Membre du Club
    Homme Profil pro
    All and nothing
    Inscrit en
    Mai 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : All and nothing

    Informations forums :
    Inscription : Mai 2012
    Messages : 22
    Points : 43
    Points
    43
    Par défaut
    Hello, je te conseillerais d'utiliser le using-statement. Regarde cet exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    List<string> list = new List<string>();
    	using (StreamReader reader = new StreamReader("file.txt"))
    	{
    	    string line;
    	    while ((line = reader.ReadLine()) != null)
    	    {
    		list.Add(line); // Add to list.
    		Console.WriteLine(line); // Write to console.
    	    }
    	}
    Ca fait ce que tu veux sauf que le contenu (ligne) de ton fichier est stocké sous forme de liste.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Merci MRekee pour ta proposition.

    Mais j'y vois 2 inconvénients:

    Tout d'abord la lecture va s'arreter à la première ligne vide hors il peut y en avoir plusieur dans mon fichier texte.

    et surtout pour j'aimerais bien comprendre la raison du non fonctionnement de l'utilisation de l'instruction qui à priori est prévue pour ça !

    (Il n'empêche que je vais quand même essayer ton code pour voir...d'autant que je ne connais pas List<String> )

  4. #4
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Bon finalement ton code fonctionne très bien...mais j'aimerais bien malgré tout comprendre pourquoi le mien ne fonctionne pas !!!

  5. #5
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Bien...après quelques essais et en me basant sur le code que tu m'as fourni, Mon code fonctionne en utilisant "StreamReader" en lieu et place de "StringReader" qui est une instruction qui venait d'un exemple que j'avais trouvé en VB. par contre le compilateur ne m'avais pas donné d'erreur donc c'est visiblement une instruction qui existe aussi en C# mais je n'ai pas encore trouvé à quoi elle sert !

    En tout cas merci pour ton aide.

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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