C# 获取嵌入资源的完整路径?
C#中获取嵌入资源的完整路径
问题原因:
问题是关于如何获取C#中嵌入资源的完整路径。嵌入资源在C#中通常是以命名空间、项目文件夹、文件名和扩展名的形式表示。但是,有时候需要获取完整的资源路径,以便读取或保存资源的内容。
解决方法:
为了解决这个问题,可以使用一个辅助类来获取资源的完整路径。下面是一个示例的辅助类:
public class ResourceReader { // 以流的形式读取文件 public static Stream GetResourceStream(string resourceName) { Assembly assembly = Assembly.GetExecutingAssembly(); Stream resourceStream = assembly.GetManifestResourceStream(resourceName); return resourceStream; } // 将资源保存到文件 public static void CreateFileFromResource(string resourceName, string path) { Stream resourceStream = GetResourceStream(resourceName); if (resourceStream != null) { using (Stream input = resourceStream) { using (Stream output = File.Create(path)) { input.CopyTo(output); } } } } }
感谢Shamp的回答,这个辅助类非常有效地提取了嵌入文件。Stream类有一个CopyTo方法,可以用来代替你的CopyStream方法。更多关于CopyTo方法的信息可以在msdn.microsoft.com/en-us/library/dd782932.aspx上查看。