C# INI本地文件读写工具类IniFileTool.cs

  C# INI本地文件读写工具类IniFileTool.cs



C# Code:

/// <summary>
/// 操作INI文件类
/// </summary>
public class IniFileTool
{
  
private string _path; //INI档案名
  
public string IniPath { get { return _path; } set { _path = value; } }
  
  [StructLayout(LayoutKind.Sequential, CharSet
= CharSet.Auto)]
  
public struct STRINGBUFFER
  {
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst
= 1024)]
    
public string szText;
  }
  
  
//读写INI文件的API函数
  
[DllImport("kernel32", CharSet = CharSet.Auto)]
  
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
  
  [DllImport(
"kernel32", CharSet = CharSet.Auto)]
  
private static extern int GetPrivateProfileString(string section, string key, string def, out STRINGBUFFER retVal, int size, string filePath);
  
  
//类的构造函数,传递INI档案名
  
public IniFileTool(string INIPath)
  {
    _path
= INIPath;
    
if (!File.Exists(_path)) CreateIniFile();
  }
  
  
/// <summary>
  
/// 写INI文件
  
/// </summary>
  
/// <param name="Section"></param>
  
/// <param name="Key"></param>
  
/// <param name="Value"></param>
  
public void IniWriteValue(string Section, string Key, string Value)
  {
    WritePrivateProfileString(Section, Key, Value,
this._path);
  }
  
  
/// <summary>
  
/// 读取INI文件指定关键字的值
  
/// </summary>
  
/// <param name="Section"></param>
  
/// <param name="Key"></param>
  
/// <returns></returns>
  
public string IniReadValue(string Section, string Key)
  {
    
int i;
    STRINGBUFFER RetVal;
    i
= GetPrivateProfileString(Section, Key, null, out RetVal, 1024, this._path);
    
string temp = RetVal.szText;
    
return temp.Trim();
  }
  
  
/// <summary>
  
/// 读取INI文件指定关键字的值
  
/// </summary>
  
/// <param name="Section"></param>
  
/// <param name="Key"></param>
  
/// <param name="defaultValue"></param>
  
/// <returns></returns>
  
public string IniReadValue(string Section, string Key, string defaultValue)
  {
    
int i;
    STRINGBUFFER RetVal;
    i
= GetPrivateProfileString(Section, Key, null, out RetVal, 1024, this._path);
    
string temp = RetVal.szText.Trim();
    
return String.IsNullOrEmpty(temp) ? defaultValue : temp;
  }
  
  
/// <summary>
  
/// 创建INI文件
  
/// </summary>
  
public void CreateIniFile()
  {
    StreamWriter w
= File.CreateText(_path);
    w.Write(
"");
    w.Flush();
    w.Close();
  }
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761



C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

C# INI本地文件工具IniFileTool.cs
IniFile 操作INI文件 C#
C# INI文件操作(IniFileAPI)
SQLServer连接配置工具(配置保存到ini文件或系统注册表)
系统配置文件 (UpgraderClient.ini)
C#读取Excel文件提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”
资料表工具(DataTableTools)
C/S框架日志管理管理器(LogUserOperate)/本地日志(LogLocalException)/数据库日志(LogDB)
C#.NET IP地址工具WebAPI服务器使用
C#数据库本地缓存技术(Database local cache)
C#DataSet监视工具2.0(DataSet Watch 2.0)
C# Winform软件版本自动升级 | 软件系统自动更新工具
C#数据访问层主.(SqlHelper)SQLDataAccess.cs
C#.NET史上最全字符串加密/解密/数字签名工具(CryptoHelper.cs)
C# Excel xls文件导入程序Excel数据库通用XlsFileDB
编译器错误消息: CS0016: 未能写入输出文件c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root
文件或目录的长文件名与短文件名互转换C#.Net
C# 本地图片缓存器ImageFileCache (www.csframework.com)
C#获取本地的IP地址
C#调用成员