在C#中,有没有办法获得嵌入式资源文件的字符串路径引用?

Sak*_*o73 7 .net c#

我有一个方法,它接受一个字符串参数,该参数是文本文件的文件路径.我希望能够传入一个我作为资源嵌入到我的程序集中的文本文件.

有没有办法获得嵌入文本文件的字符串引用,以便它可以作为打开StreamReader的文件路径?

谢谢.

two*_*wer 9

您可以使用它Assembly.GetManifestResourceStream(resource_name_of_the_file)来访问文件的流,将其写入TEMP目录并使用此路径.

例如,如果项目中的文件位于" Resources\Files\File.txt " 路径中,并且项目的程序集默认名称空间为" RootNamespace ",则可以从此程序集的代码中访问该文件的流.

Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.Files.File.txt")
Run Code Online (Sandbox Code Playgroud)


Mar*_*age 6

有没有办法获得嵌入文本文件的字符串引用,以便它可以作为打开StreamReader的文件路径?

不,嵌入资源不是单独的文件,而是嵌入到可执行文件中.但是,您可以使用a获取可以读取的流StreamReader.

var name = "...";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) 
  using (var streamReader = new StreamReader(stream)) {
    // Read the embedded file ...
  }
Run Code Online (Sandbox Code Playgroud)