[XML] ResourceManager一个操作Resource的帮助类 (转载)
/// <summary>
/// 类说明:Assistant
/// 编 码 人:苏飞
/// 联系方式:361983679
/// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeinet.com/thread-655-1-1.html[/url]
/// </summary> using System;
using System.Collections;
using System.Collections.Generic;
using System.IO; namespace DotNet.Utilities
{
/// <summary>
/// ResourceManager
/// </author>
/// </summary>
public class ResourceManager
{
private volatile static ResourceManager instance = null;
private static object locker = new Object();
public static ResourceManager Instance
{
get
{
if (instance == null)
{
lock (locker)
{
if (instance == null)
{
instance = new ResourceManager();
}
}
}
return instance;
}
} private string FolderPath = string.Empty;
public SortedList<String, Resources> LanguageResources = new SortedList<String, Resources>(); public void Serialize(Resources resources, string filePath)
{
ResourcesSerializer.Serialize(filePath, resources);
} public void Init(string filePath)
{
FolderPath = filePath;
DirectoryInfo directoryInfo = new DirectoryInfo(filePath);
LanguageResources.Clear();
if (!directoryInfo.Exists)
{
return;
}
FileInfo[] FileInfo = directoryInfo.GetFiles();
for (int i = ; i < FileInfo.Length; i++)
{
Resources resources = ResourcesSerializer.DeSerialize(FileInfo.FullName);
resources.createIndex();
LanguageResources.Add(resources.language, resources);
}
} public Hashtable GetLanguages()
{
Hashtable hashtable = new Hashtable();
IEnumerator<KeyValuePair<String, Resources>> iEnumerator = LanguageResources.GetEnumerator();
while (iEnumerator.MoveNext())
{
hashtable.Add(iEnumerator.Current.Key, iEnumerator.Current.Value.displayName);
}
return hashtable;
} public Hashtable GetLanguages(string path)
{
Hashtable hashtable = new Hashtable();
DirectoryInfo directoryInfo = new DirectoryInfo(path);
if (!directoryInfo.Exists)
{
return hashtable;
}
FileInfo[] fileInfo = directoryInfo.GetFiles();
for (int i = ; i < fileInfo.Length; i++)
{
[i] Resources resources = ResourcesSerializer.DeSerialize(fileInfo.FullName);
hashtable.Add(resources.language, resources.displayName);
}
return hashtable;
} public Resources GetResources(string filePath)
{
Resources resources = new Resources();
if (File.Exists(filePath))
{
resources = ResourcesSerializer.DeSerialize(filePath);
resources.createIndex();
}
return resources;
} public string Get(string language, string key)
{
if (!LanguageResources.ContainsKey(language))
{
return string.Empty;
}
return LanguageResources[language].Get(key);
}
}
}
[XML] ResourceManager一个操作Resource的帮助类 (转载)的更多相关文章
- 操作App.config的类(转载)
http://www.cnblogs.com/yaojiji/archive/2007/12/17/1003191.html 操作App.config的类 public class DoConfig ...
- 一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作)(转载)
/* * 更新时间 :2011-09-01 16:06 * 更 新 人 :苏飞 */ using System; using System.Collections.Generic; using Sys ...
- 一个操作EXCEL的C#类ExcelUtils
近期在公司里一直从事服务类的工作,涉及到非常多excel的处理.部分工作内容是每天反复的,仅仅是每天的数据不同而已.我遇到的一个问题是客户每天发送的几种数据有些excel中的字段顺序是一致的,有些是不 ...
- 一个操作oracle的c#类 含分页
有别于以前的一个OracleHelper,这个版各有所长,MARK下. using System; using System.Data; using System.Data.OracleClient; ...
- 写一个操作 .ini文件的类
class IniHelp { private string iniPath; [DllImport("kernel32")] private static extern long ...
- java操作xml的一个小例子
最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要 ...
- XML转换为对象操作类详解
//XML转换为对象操作类 //一,XML与Object转换类 using System.IO; using System.Runtime.Serialization.Formatters.Binar ...
- 一个操作cvs格式的c++类
经常需要使用excel,或者把有的数据用excel打开,程序可以生成cvs格式的文件,这样就可以excel打开并处理了,于是找了一个处理cvs的c++类跟大家分享 代码出处找不到了: 代码如下: St ...
- Spring源码分析——资源访问利器Resource之实现类分析
今天来分析Spring的资源接口Resource的各个实现类.关于它的接口和抽象类,参见上一篇博文——Spring源码分析——资源访问利器Resource之接口和抽象类分析 一.文件系统资源 File ...
随机推荐
- Hadoop RPC源码阅读-客户端
Hadoop版本Hadoop2.6 RPC主要分为3个部分:(1)交互协议(2)客户端(3)服务端 (2)客户端 先展示RPC客户端实例代码 public class LoginController ...
- Ehcache Java开源缓存框架
一.ehcache.xml 配置详解 单机配置: <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
- SLua 中使用 Lua 5.3 的编译工程
2016-03-05 更新: 之前编译的库,在 Android 下 Lua_Number 和 Lua_Integer 被编译为了32位,导致从 C# 到 Lua 过程中有64位到32位整型转换会出现溢 ...
- Web前端常见问题处理
1. 浏览器后退按钮 这个在注册或者登陆的时候是一个普遍的问题,登陆之后,跳转到另外一个页面,我的鼠标有两个侧键,是用于前进和后退的,有时候会误点侧键,这个时候页面又会回到之前的登录页面,但事实是用户 ...
- CLR Profiler 性能分析工具 (转)
原文地址:http://www.cnblogs.com/kevinlzf/archive/2010/11/12/1876066.html 下载地址:http://www.microsoft.com/e ...
- 主流智能手机屏幕材质介绍 及 LCD闪屏现象分析
TN TN(Twisted Nematic) 即扭曲向列型面板,属于有源矩阵液晶显示器中的一种.由于TFT是主动式矩阵LCD可让液晶的排列方式具有记忆性,不会在电流消失后马上恢复 ...
- HW4.28
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- 采集爬虫中,解决网站限制IP的问题? - wendi_0506的专栏 - 博客频道 - CSDN.NET
采集爬虫中,解决网站限制IP的问题? - wendi_0506的专栏 - 博客频道 - CSDN.NET undefined
- DES加密,Tk写的简单的GUI
# -*- coding: UTF-8 -*- from Tkinter import * from tkMessageBox import * ip = [ 58,50,42,34,26,18,10 ...
- [置顶] 如何访问web文件夹之外的文件
在编写项目时,遇到一个如何访问web文件夹之外的文件的问题.因为我要制作一个浏览图片和pdf文件的一个简单网站.但问题是图片的文件夹和pdf文件的文件夹都是其他程序生成的,自然也就是不是网站w ...