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文件中明确指出文件路径
比如有两个资源文件,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文件中明确指出文件路径
相关文章推荐
- 轻松学习C#的String类
- C# XML 根级别上的数据无效
- C#开发usb通知之bulk传输
- c# 循环控件 把控件的名称和值 写入xml中
- c#地址
- C#反射的简单示例
- C# 项目第二天
- C# 控件提换
- c# 循环控件 把控件的名称和值 写入xml中
- C# 常用函数
- C# 判断当前用户是否是管理员
- c# 时间格式处理,获取格式: 2014-04-12T12:30:30+08:00
- c#Filestream类(文件流)
- C# 位操作
- C#对Dictionary遍历赋值
- C#压缩图片1
- c#程序不弹出timeout异常手动关闭,自动重启
- C#获取文件当前路径
- C#: 获取当前应用程序所在路径
- C#中的小细节