代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
ConfigHelper 配置文件辅助类
作者:
睿智
/ 发布于
2016/1/4
/
954
using System; using System.Globalization; using System.IO; using System.Security; using System.Security.Cryptography; using System.Text; using System.Xml; using System.Xml.Serialization; namespace Helper { /// <summary> /// 配置文件辅助类 /// </summary> public class ConfigHelper { /// <summary> /// 更新配置信息,将配置信息对象序列化至相应的配置文件中,文件格式为带签名的UTF-8 /// </summary> /// <typeparam name="T">配置信息类</typeparam> /// <param name="config">配置信息</param> public static void UpdateConfig<T>(T config) { Type configClassType = typeof (T); string configFilePath = GetConfigPath<T>(); //根据配置文件名读取配置文件 try { var xmlSerializer = new XmlSerializer(configClassType); using (var xmlTextWriter = new XmlTextWriter(configFilePath, Encoding.UTF8)) { xmlTextWriter.Formatting = Formatting.Indented; var xmlNamespace = new XmlSerializerNamespaces(); xmlNamespace.Add(string.Empty, string.Empty); xmlSerializer.Serialize(xmlTextWriter, config, xmlNamespace); } } catch (SecurityException ex) { throw new SecurityException(ex.Message, ex.DenySetInstance, ex.PermitOnlySetInstance, ex.Method, ex.Demanded, ex.FirstPermissionThatFailed); } } /// <summary> /// 获取配置信息 /// </summary> /// <typeparam name="T">配置信息类</typeparam> /// <returns>配置信息</returns> public static T GetConfig<T>() where T : class, new() { var configObject = new object(); Type configClassType = typeof (T); string configFilePath = GetConfigPath<T>(); //根据配置文件名读取配置文件 if (File.Exists(configFilePath)) { using (var xmlTextReader = new XmlTextReader(configFilePath)) { var xmlSerializer = new XmlSerializer(configClassType); configObject = xmlSerializer.Deserialize(xmlTextReader); } } var config = configObject as T; if (config == null) { return new T(); } return config; } /// <summary> /// 获取配置文件的服务器物理文件路径 /// </summary> /// <typeparam name="T">配置信息类</typeparam> /// <returns>配置文件路径</returns> public static string GetConfigPath<T>() { string path = AppDomain.CurrentDomain.BaseDirectory; if (path == AppDomain.CurrentDomain.BaseDirectory) { path = path + typeof (T).Name + ".config"; } return path; } public static string GetDirPath(string dirName) { string dirPath = dirName; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } return dirPath; } public static string Md5(string input) { using (var md5 = new MD5CryptoServiceProvider()) { byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(input)); return BitConverter.ToString(data).Replace("-", string.Empty).ToLower(CultureInfo.CurrentCulture); } } /// <summary> /// 读取配置文件 /// </summary> /// <returns></returns> public static string ReadConfig<T>() { string configContent = string.Empty; string filePath = GetConfigPath<T>(); if (File.Exists(filePath)) { using (var sr = new StreamReader(filePath, Encoding.Default)) { configContent = sr.ReadToEnd(); sr.Close(); } } return configContent; } /// <summary> /// 写入配置文件 /// </summary> /// <param name="config"></param> /// <returns></returns> public static void WriteConfig<T>(string config) { string fileName = GetConfigPath<T>(); using (StreamWriter w = File.AppendText(fileName)) { w.WriteLine(config); w.Close(); } } } }
试试其它关键字
ConfigHelper
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
睿智
贡献的其它代码
(
12
)
.
实现Oracle数据库备份
.
批量生成手机号码
.
根据当前文字选择返回被选中的文字
.
限制Textarea文本域字符个数
.
命令行CMD颜色设置
.
一个简单的Doctor类的封装
.
矩阵
.
获取网站缩略图
.
SQL查询一张表插入到另一张表
.
标签自适应高度和宽度
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3