125 votes

Comment intégrer un fichier texte dans un assemblage .NET ?

J'aimerais intégrer un fichier texte dans un assemblage afin de pouvoir charger le texte sans avoir à le lire depuis le disque, et afin que tout ce dont j'ai besoin soit contenu dans l'exe. (Pour qu'il soit plus portable)

Existe-t-il un moyen de faire cela ? Je suppose que cela concerne les fichiers de ressources ?

Et si vous le pouvez, comment faites-vous et comment programmez-vous le texte dans une chaîne de caractères ?

1voto

Pavan Points 11

Voici ce que j'ai fait :

  1. J'ai ajouté mes fichiers (ressources) dans Visual Studio en faisant un clic droit sur le projet.
  2. Faites un clic droit sur chaque fichier que vous avez ajouté et changez le "Build Type" en Embedded Resource.
  3. Afin d'accéder à la ressource :

    a. Obtenir l'assemblage actuel en utilisant la fonction : GetExecutingAssembly()

    b. La ressource que j'ai ajoutée était un fichier texte, je l'ai donc lu dans un flux en utilisant la fonction GetManifestResourceStream(fileName) . La façon dont j'ai accédé aux noms de fichiers est d'appeler GetManifestResourceNames()

    c. Utilisez maintenant un StreamReader() pour lire jusqu'à la fin du fichier dans une variable si c'est ce que vous voulez.

0voto

Narjis Hasan Points 1

Ajoutant à la réponse de Pavan, pour obtenir l'assemblage actuel (dans la section générale) :

Assembly _assembly;

GetManifestResourceStream(fileName) (dans le code, où la lecture de la ressource est requise) :

try
{
    _assembly = Assembly.GetExecutingAssembly();
    _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("*Namespace*.*FileName*.txt"));
}
catch
{
    Console.WritelLine("Error accessing resource!");
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X