您的位置:首页 > 编程语言 > C#

c#读取.resx/.resource资源文件

2015-11-24 11:38 543 查看

比如有两个资源文件,en-us.resx和zh-cn.resx

public static string GetLangString(string Key, string langtype, string FilePath)

{

string filename;

switch (langtype)

{

case ''cn'': filename = "zh-cn.resources"; break;

case ''en'': filename = "en-us.resources"; break;

default: filename = "en-us.resources"; break;

}

System.Resources.ResourceReader reader = new System.Resources.ResourceReader(FilePath + filename);

string resourcetype;

byte[] resourcedata;

string result = string.Empty;

try {

reader.GetResourceData(Key, out resourcetype, out resourcedata);

//去掉第一个字节,无用

byte[] arr = new byte[resourcedata.Length - 1];

for (int i = 0; i < arr.Length; i++) {

arr[i] = resourcedata[i + 1];

}

result = System.Text.Encoding.UTF8.GetString(arr);

}

catch (Exception ex)

{

ex.ToString();

}

finally {

reader.Close();

}

return result;

}

其中en-us.resx和zh-cn.resx两个资源文件一定要先编译成en-us.resources和zh-cn.resources才能正常使用

编译工具:ResGen.exe和批处理文件.bat

.bat里面的内容:(特别是当en-us.resx和zh-cn.resx里面的字符串定义很多时,特别好用)

resgen.exe zh-cn.resx zh-cn.resources

resgen.exe en-us.resx en-us.resources

下面啰嗦一下怎么做.bat文件

1、首先建个txt文件;把内容

resgen.exe zh-cn.resx zh-cn.resources

resgen.exe en-us.resx en-us.resources

放到txt文件中,保存

2、修改txt的后缀名为.bat;

3、双击就可运行了;

备注:以上所有文件都放在一个文件夹下,若果放在不同的文件夹下,需要在.bat文件中明确指出文件路径


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: