演示:多格式文件内嵌入WPF资源文件
来源:互联网 发布:知识管理 知乎 编辑:程序博客网 时间:2024/04/29 23:02
作为一个扩展,你需要了解DotNetZip用法,请参见:
C# .NET 使用第三方类库DotNetZip解压/压缩Zip文件
你也需要了解单文件内嵌入资源文件基本方法,参见:
WPF调用嵌入的非.net的EXE资源文件
如果你有一大堆文件或者想通过打包的方式嵌入任意格式的文件到资源文件中,那么你可以打包成一个ZIP文件,再嵌入到资源文件中是一个不错的选择:
using System.Reflection;//++using System.IO;using Ionic.Zip;namespace packZip{ /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { List<string> fileList = new List<string>(); public MainWindow() { InitializeComponent(); String projectName = Assembly.GetExecutingAssembly().GetName().Name.ToString(); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(projectName + ".f.zip")) { Byte[] b = new Byte[stream.Length]; stream.Read(b, 0, b.Length); MemoryStream m = new MemoryStream(b); using (ZipFile zip = ZipFile.Read(m)) { zip.ExtractAll(System.IO.Path.GetTempPath(), ExtractExistingFileAction.OverwriteSilently); foreach (ZipEntry entry in zip) { fileList.Add(entry.FileName); } } } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { string s = System.IO.Path.GetTempPath(); foreach(string f in fileList) { if (File.Exists(s + f)) File.Delete(s + f); } } }}
在这篇示例中,在程序结束时加入了ZIP中文件的遍历及清理,使得使用过后不留痕迹,把活干得漂亮点^_^。
转载请标注出处:子弹头zdt
0 0
- 演示:多格式文件内嵌入WPF资源文件
- WPF在资源内嵌入字体
- WPF 资源、嵌入资源的读取
- wpf 引用资源文件
- android 在EditText内嵌入图片资源
- C# Vs2005资源文件嵌入资源使用方法
- Flex之嵌入外部资源 ------ 示例代码演示
- [WPF] 嵌入资源到DLL,并解决PNG图片问题
- wpf中内置资源文件
- jsp 内嵌入flex的swf文件
- 在HTML内嵌入PDF文件
- 将XSD架构文件嵌入资源使用
- C# 读取(嵌入资源文件)
- c#程序嵌入资源文件中
- C#嵌入资源文件加载类
- BCB中嵌入资源文件的研究
- ABP官方文档(四十)【嵌入资源文件】
- 嵌入资源
- sql临时表删除
- hdu 5024——Wang Xifeng's Little Plot
- 当finish掉activity线程时,它所加载的webview线程没有被卸载掉
- Linux下进入single模式与Linux下挂载U盘
- Hdu5033
- 演示:多格式文件内嵌入WPF资源文件
- Java中的数字证书的生成及维护方法
- bitset 用法
- 【LeetCode】-Binary Tree Postorder Traversal
- HDU 5033 - Building
- erlang 学习记录
- 可交互的AsyncTask
- phpmyadmin导入.sql数据库文件报错解决
- iOS8 遇到的问题