小议C#下文本文件与resources资源文件的相互转换

由于这些天比较闲 (也许吧),就把前些日子写的一段有关文本文件与资源文件转换的小程序整理了一下,这个主要是先前研究动态生成HTML页面和另一个WINDOWS主题生成软件时为方便生成模板资源附带写的,没多大技术含量,只是方便使用,如果有研究这方面的也可以拿去看下,样例程序(含源码)在我的共享空间(http://my.mofile.com/yzyxfzh)的.NET相关目录下,下面大体说下主要的几个函数,剩余的代码也很简单。

Resources属于二进制资源文件,它内部的资源成员是有以1键对应1值得形式保存的,资源的类型可以是很多种类,不过因为本人只用到了字符串类型资源,所以其他类型的也没研究不过相关资料网上到是有许多,并且其余类型资源的封装实际都是大同小异的。

文本转resources资源文件(由于这个是参考网上的其他资料写的就不多说了):

 

ResourceWriter rw  =   new  ResourceWriter(s);         // s为文件保存路径
string  Theme  =  v;                               // v是resources资源文件里字符串键的值,实际是文本文件的内容
rw.AddResource(str,Theme);                      // str为字符串键的键名
rw.Generate(); 
rw.Close();

 

 

resources资源文件转文本(可以将资源文件中的全部字符串资源遍历读取出来,非字符串资源将丢失):

 

ResourceReader rr  =   new  ResourceReader(s); 
IDictionaryEnumerator en 
=  rr.GetEnumerator();
while  (en.MoveNext())                                 // 循环遍历资源文件中的每个可用资源
{
    Key 
+=   " 主键 = [ " + en.Key.ToString() + " ] " + "   " ;
    Value
+=   " 值 = [ " + en.Value.ToString() + " ] " + "   " ;          // 这里只要将获取的值保存为文本即可
}
rr.Close();                                           
// 释放资源

 

 

以上两个方法就是resources资源文件的生成与读取,不过本人感觉resources资源文件不如resX文件使用着那么顺手(虽说MSDN上好像是强烈推荐resources资源文件,但本人不那么认为,尤其是字符串型资源文件,不知是不是因为本人是新人的缘故),resources资源文件是可以转换成resX资源文件的,但实际上对于字符串类型resX文件来说,直接在VS编译环境下是可以直接将字符串写到resX文件里的,因为resX文件实际上属于XML文件,如果是图片等就需要先将其转化为二进制resources文件再转换为resX文件,这点好像麻烦些,但resX资源文件可以直接封装到程序内部,而resources文件确是另外生成一个文件,不过resX资源文件使用方法在网上没发现,虽说最后自己弄出来了(仅用了2行代码@_@),但原理还是没搞明白(新人果然还是不行).........

  好了,有用的没用的就说这些了,欢迎高手前来指点,谢谢! 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fzhsow/archive/2007/02/17/1511317.aspx

转载于:https://www.cnblogs.com/yelaiju/archive/2010/09/16/1828357.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值