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 :

Lecture d'une structure dans un fichier


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 118
    Points : 0
    Points
    0
    Par défaut Lecture d'une structure dans un fichier
    Bonjour
    j'arrive à écrire une structure dans un fichier, mais je ne sais pas comment la lire

    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
     
        [Serializable()] public struct ville
            {
                public string nom {get;set;}
                public float nbh{get;set;}
                public ville(string n,float p):this()
                {
                    nom = n;
                    nbh = p;
                 }
     
            private void button1_Click(object sender, EventArgs e) //ecriture
            {
                ville v = new ville() {nom="",nbh=0 }; 
                v.nom = textBox1.Text;
                v.nbh = float.Parse(maskedTextBox1.Text);
                Stream flux;
                    flux = File.Open(@"C:\Users\...\liste", FileMode.Append);
                    BinaryFormatter formateur = new BinaryFormatter();
                    formateur.Serialize(flux, v);
                     flux.Close();
            }
    //je veux lire ville, pouvoir lire v.nom et écrire ce nom dans textBox3 mais je ne sais pas s'il faut utiliser un streamReader ou un BinaryReader et comment l'utiliser...?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void button3_Click(object sender, EventArgs e) //lecture
            {
                ville v = new ville() { nom = "", nbh = 0 }; 
     
                textBox3.Text =;
     
            }

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour, il faut passer par BinaryFormatter.Deserialize tout simplement.

    En revanche, gaffe à la sérialisation automatique, ce n'est pas adapté à tous les scénarios : avec les paramètres par défaut (voir BinarySerializer.AssemblyFormat pour une solution), un fichier créé avec la v1.0 de l'appli ne pourra pas être relu avec la version 1.1. Qui plus est, il sera plus difficile de traiter les changements de "schéma" (ajout de membres à certaines classes, renommage, etc) et il faut étudier les possibilités de la sérialisation automatique au préalable. Enfin les performances peuvent être un problème sur de gros fichiers.

    Pour du prototypage ou de la communication entre logiciels de même version, c'est intéressant. Pour sauvegarder de simples paramètres, la sérialisation XML est plus adaptée, en passant par des classes intermédiaires (à chaque Client on associe un XmlClient voire un XmlClientProxy). Pour lire et sauvegarder rapidement de gros documents, ou pour garder un contrôle sur le format, la sérialisation manuelle est la seule solution.

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/06/2007, 21h44
  2. Réponses: 17
    Dernier message: 09/03/2007, 18h13
  3. stocker une structure dans un fichier ini?
    Par Mickey.jet dans le forum C
    Réponses: 6
    Dernier message: 13/09/2006, 16h57
  4. copier une structure dans un fichier
    Par brute dans le forum MFC
    Réponses: 18
    Dernier message: 10/03/2006, 14h30
  5. [C#] [.NET] Lecture d'une classe dans un fichier
    Par niPrM dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/05/2004, 08h57

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