J'essaie de lire un fichier texte incorporé avec System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
mais cela me donne un Stream
. La ressource incorporée est un fichier texte, comment puis-je transformer ce Stream
en TextReader
?
Réponses
Trop de publicités?
driis
Points
70872
Arnaud F.
Points
3841
Vous pouvez lire votre fichier de ressources comme ceci:
Assembly resourceAssembly = Assembly.LoadFrom(resourceFile.FullName);
string[] manifests = resourceAssembly.GetManifestResourceNames();
using (ResourceReader reader = new ResourceReader(
resourceAssembly.GetManifestResourceStream(manifests[0])))
{
foreach (IDictionaryEnumerator dict in reader)
{
string key = dict.Key as string;
object val = dict.Value;
}
}
Paul Kearney - pk
Points
3300
Vous devez en obtenir un StreamReader (TextReader est une classe de base abstraite de StreamReader et StringReader). Quelque chose comme:
var stream = System.Reflection.Assembly.GetExecutingAssembly().
GetManifestResourceStream(resource);
var reader = new StreamReader(stream);
var text = reader.ReadToEnd();