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 un fichier resource


Sujet :

C#

  1. #1
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 859
    Points : 4 810
    Points
    4 810
    Par défaut Lire un fichier resource
    Bonjour

    Voilà mon problème. Je développe une dll. A un moment, je veux pouvoir lire un fichier texte contenu dans cette dll sous forme de ressource. Or, mes essais sont infructueux pour le moment:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private DataSource BlankAsData()
            {
                string nameSpc = Assembly.GetExecutingAssembly().GetName().Name.ToString();
                string filePath = nameSpc + ".Resources." + "blank.csv";
                Stream stream = Assembly.GetExecutingAssembly().GetFile(filePath);
                if (stream == null)
                {
                    MessageBox.Show("Stream is null");
                    return null;
                }
                return new TextFileDataSource(stream, null);
            }
    En gros, Stream est toujours null.
    Ai-je oublié un ingrédient dans ma potion ?

    Merci d'avance de vos renseignements.

    @++

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 766
    Points
    766
    Par défaut
    C'est peut-être le nom de ta ressource qui n'est pas bonne.

    Fait une boucle pour te faire afficher tout tes noms de ressource, alors tu verras si c'est le bon nom.

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 859
    Points : 4 810
    Points
    4 810
    Par défaut
    Hello

    Merci PatteDePoule pour ta réponse.
    Néanmoins, voici ce que j'obtiens avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    FileStream[] streams = Assembly.GetExecutingAssembly().GetFiles(true);
     StringBuilder sb = new StringBuilder();
     for (int i = 0; i < streams.Length; i++)
    {
               sb.AppendLine(streams[i].Name);
    }
    MessageBox.Show(sb.ToString());
    En gros, ma messagebox m'affiche....le path absolu de ma dll compilé Pas tellement ce que je veux.
    Je veux bien lui indiquer le path absolu vers mon fichier mais ce n'est pas ce que je veux faire.
    Y a t'il un moyen plus élégant pour ce faire ?

    @++

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 859
    Points : 4 810
    Points
    4 810
    Par défaut
    Hello

    Je pense avoir trouvé. Il me suffisait de rajouter mon fichier comme "embedded resource" et le code suivant me montre que tout va bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
    Stream stream = asm.GetManifestResourceStream(asm.GetName().Name.ToString() + ".Resources." + "blank.csv");
    if (stream == null)
    {
        MessageBox.Show("stream is null");
    }
    La messagebox ne s'affiche pas, ça semble bien parti.
    Je met ce thread comme résolu mais les spécialistes C# sont les bienvenus pour tout conseil supplémentaire.

    @++

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

Discussions similaires

  1. Lire un fichier resources en entier
    Par laupas dans le forum Windows Phone
    Réponses: 6
    Dernier message: 27/12/2011, 22h43
  2. Réponses: 2
    Dernier message: 07/11/2006, 22h42
  3. Réponses: 5
    Dernier message: 11/01/2004, 20h17
  4. Lire un fichier de 50 gb
    Par Maryves dans le forum MFC
    Réponses: 2
    Dernier message: 08/01/2004, 14h08
  5. Lire le fichier du port série
    Par saibe dans le forum Linux
    Réponses: 7
    Dernier message: 09/04/2003, 09h29

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