如何从资源中复制文件?

时间:2011-08-31 08:03:42

标签: c# visual-studio-2010 embedded-resource

我有一个嵌入式资源文件,例如:file.exe如何在目录中复制,例如:c:\? 点击按钮  感谢

1 个答案:

答案 0 :(得分:24)

您可以使用Assembly.GetManifestResourceStream获取流来读取您的资源。然后将其复制到FileStream。如果您使用的是.NET 4,则可以使用Stream.CopyTo来实现这一目标:

private void CopyResource(string resourceName, string file)
{
    using (Stream resource = GetType().Assembly
                                      .GetManifestResourceStream(resourceName))
    {
        if (resource == null)
        {
            throw new ArgumentException("No such resource", "resourceName");
        }
        using (Stream output = File.OpenWrite(file))
        {
            resource.CopyTo(output);
        }
    }
}