我有一些嵌入资源的文件。如何通过C#将这些文件保存在磁盘上?
答案 0 :(得分:6)
这应该可以胜任你的工作:
string strTempFile = Path.GetTempFileName();
File.WriteAllBytes(strTempFile, Properties.Resources.YourBinaryFileInResource);
请确保包含文件的FileType设置为“binary”。
答案 1 :(得分:3)
使用流:GetManifestResourceStream为您提供资源中文件的流,并使用StreamWriter将该流的内容写入磁盘。
答案 2 :(得分:2)
您可以获取资源流,然后在写入文件时从流中读取。
byte[] buffer = new byte[1024];
using (Stream output = File.OpenWrite("filename"))
{
using (Stream resourceStream = typeof(Class1).Assembly.GetManifestResourceStream("name of resource"))
{
int bytes = -1;
while ((bytes = resourceStream.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytes);
}
}
}
代码完全未经测试,只是为了给你一个想法。