C#中对RESX文件的操作

1:从.resources文件转到resx文件

使用Resgen.exe程序进行转换,该程序位于VS的目录下

resgen myResources.resources myResources.resx

2:在项目中使用已有的RESX文件
将该文件包括进项目,并在其属性中,修改其自定义工具为:ResXFileCodeGenerator,重新编译后,会自动生成一个RESX文件对应
的cs文件,然后就可以使用其中的资源了


2:将现有的二进制串添加到resx文件中:
由于RESX文件为XML格式组织,可以直接用文件编辑器向其中写入数据
在VS环境中向RESX中添加文件,仅仅将该文件拷贝到Resource文件夹,并添加了一个指向该文件的快捷方式,若想要直接向其中添加
内容,可以用如下代码(以二进串为例):
byte[] _FileBytes = //这里获取到二进制串 ResXResourceWriter rw = new ResXResourceWriter(Application.StartupPath + "//MouseCursors1.resx"); rw.AddResource("addFeature.cur", _FileBytes); rw.Close();
注意,这种方式不会保留RESX中原来的值,要想实现Append功能,还得将原有资源的全部再加一遍

3:读取RESX中的内容:
RESX文件是以XMl格式存储的,可以直接用文本编辑器打开,但其中的内容为转成文本的其它格式(例如Byte[]),那么可以用该方法对其
进行读取

ResXResourceReader rr = new ResXResourceReader(Application.StartupPath + "//MouseCursors.resx"); IDictionaryEnumerator de = rr.GetEnumerator(); bool a= de.MoveNext(); while (a!=false) { if (de.Value.GetType().ToString() == "System.Byte[]") { Byte[] aa = (Byte[])de.Value; //处理aa数组 // a=de.MoveNext(); } else a=de.MoveNext(); }

你可能感兴趣的:(xml,C#,存储,工具,byte,文本编辑)