zoukankan      html  css  js  c++  java
  • 小议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

    作者: 火地晋
    出处: http://yelaiju.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    poj1141
    poj1260
    poj1080
    poj1221
    用Microsoft Office SharePoint Designer 2007开发aspx
    在Web Part中使用User Control
    MOSS中的WebPart开发
    在MOSS中开发一个模块化的feature
    SharePoint Web Service的身份验证
    MOSS中对列表的一些操作(创建,查询等)
  • 原文地址:https://www.cnblogs.com/yelaiju/p/1828357.html
Copyright © 2011-2022 走看看