簡體   English   中英

如何嵌入文件然后將其保存到某個位置?

[英]How to embed a file and then save it to a location?

我通過創建Resource1.resx並將其拖動到resx選項卡,將test.zip添加到C#項目中。 它現在在解決方案資源管理器中作為Resources的子項可見。

當程序運行時,我想將它從.exe移動到計算機上的某個位置,比如My Documents。

我有一種感覺,我需要將資源轉換為內存流,然后才能將其寫入文件,但我不確定如何將文件作為資源或如何轉換它。

認為以下提取資源對象(然后再次,它不會出錯,無論第一個參數是什么)但我不知道如何繼續:

var resource = new ResourceManager("test", Assembly.GetExecutingAssembly());

您應該使用Assembly.GetManifestResourceStream

using (Stream x = Assembly.GetExecutingAssembly().GetManifestResourceStream("test"))
{
    ...
}

參考MSDN

由於您已激活資源,因此您已經使用了ResourceManager 。使用GetObject方法,獲取文件的字節並使用File.WriteAllBytes將它們寫入新文件:

var bytes =  Properties.Resources.ResourceManager.GetObject("resourceName") as byte[];
File.WriteAllBytes("newFile.zip", bytes);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM