从stream中获取TextReader?

我试图用System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);读取embedded式文本文件System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource); 但它给了我一个Stream 。 embedded的资源是一个文本文件,所以,我怎样才能把这个Stream成为一个TextReader

4 Solutions collect form web for “从stream中获取TextReader?”

 TextReader tr = new StreamReader(stream); 

一个StreamReaderTextReader一个子类,所以你可以这样做:

 using(var stream = System.Reflection.Assembly.GetExecutingAssembly(). GetManifestResourceStream(resource)) using(var reader = new StreamReader(stream)) { // Use reader. } 

你可以像这样读取你的资源文件:

 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; } } 

您需要从中获取StreamReader(TextReader是StreamReader和StringReader的抽象基类)。 就像是:

 var stream = System.Reflection.Assembly.GetExecutingAssembly(). GetManifestResourceStream(resource); var reader = new StreamReader(stream); var text = reader.ReadToEnd(); 
  • 如何将文本追加到文件?
  • 最快的方法来整理文本文件中的整数
  • 一个简单的例子表明IO不能满足monad法则?
  • Java:从一个文件读取整数到一个数组
  • 考虑到unsafePerformIO,Haskell真的是一个纯函数式语言吗?
  • Java有一个path连接方法吗?
  • 从C#中的文件validation图像
  • 什么是最简单的方法来读取文件到string?
  • 重命名子目录中的文件
  • 如何删除名称以点(“。”)结尾的文件夹?
  • 用C#parsingC#中的CSV文件