Gömülü bir metin dosyasını okumaya çalışıyorum System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
ama bana bir Stream
. Gömülü kaynak bir metin dosyasıdır, bu yüzden bunu nasıl Stream
bir TextReader
?
Yanıtlar:
TextReader tr = new StreamReader(stream);
Kaynak dosyanızı şu şekilde okuyabilirsiniz:
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;
}
}
foreach
döngü açık numaralandırıcıya daha iyidir.
Ondan bir StreamReader almanız gerekir (TextReader, StreamReader ve StringReader'ın soyut bir temel sınıfıdır). Gibi bir şey:
var stream = System.Reflection.Assembly.GetExecutingAssembly().
GetManifestResourceStream(resource);
var reader = new StreamReader(stream);
var text = reader.ReadToEnd();