在C#中使用嵌入的资源
程序员文章站
2024-03-24 12:25:22
...
前言
在一些应用场合,我们希望将一些资源嵌入到程序中,然后在使用的时候再提取出来写到本地文件中,本文就介绍其主要实现方法。
主要步骤
具体过程共有三包,分别是添加文件、设置属性和写入本地文件。
第1步:添加文件
这将就是直接在VS的项目管理器,将需要添加的资源文件添加到项目中即可。本文使用了一个名为 “template.xlsx” 的Excel模板。
第2步:设置属性
这里我们需要设置一个重要的属性:生成操作,将其设置为“嵌入的资源”即可,如下所示。
第3步:添加写到本地的代码
这步就是最终的目标,即将程序中的嵌入的资源文件写到本地。
实现代码如下所示:
// 首先检测模板文件是否存在。
if (!File.Exists(template_filepath))
{
System.Reflection.Assembly assembly = GetType().Assembly;
Stream streamSmall = assembly.GetManifestResourceStream("ImageAreaSelector.Resources.template.xlsx");
//注:ImageAreaSelector.Resources.template.xlsx是资源路径
// 如果资源路径写错了会返回空值,使用时就会报“未将对象引用设置到对象的实例”的异常
int length = (int)streamSmall.Length;
byte[] bs = new byte[length];
streamSmall.Read(bs, 0, length);
File.WriteAllBytes(template_filepath, bs);
streamSmall.Close();
}
小结
以上示例介绍了将一个 Excel 模板嵌入到项目中的示例,在具体的工程应用中,可以将所需要的一些不大的配置或模板文件直接添加到程序中,然后在程序运行时释放出来。
上一篇: 如何获取两个经纬度点之间的中心点的经纬度
下一篇: 在代码段中使用栈(0602)
推荐阅读
-
在C#中使用嵌入的资源
-
框架模式 MVC 在Android中的使用
-
在实际使用中,urlEncoding的处理
-
在实际使用中,urlEncoding的处理
-
min函数和与函数名相同的变量—在c++与matlab中的使用
-
win32中SetCapture 和 ReleaseCapture的使用(查一下在VCL中的使用) win32SetCapture
-
关于在thinkphp 中session 的使用
-
Session和Cookie的概念及在Express框架中的使用
-
md5在node.js中的使用
-
Solr的facet和grouping在电商商品搜索中的使用 博客分类: 搜索技术 facetgrouping一品多规属性筛选类目导航