/// <summary>
/// ini文件操作类
/// </summary>
public class IniHelper
{
#region 动态链接库调用
/// <summary>
/// 调用动态链接库读取值
/// </summary>
/// <param name="lpAppName">ini节名</param>
/// <param name="lpKeyName">ini键名</param>
/// <param name="lpDefault">默认值:当无对应键值,则返回该值。</param>
/// <param name="lpReturnedString">结果缓冲区</param>
/// <param name="nSize">结果缓冲区大小</param>
/// <param name="lpFileName">ini文件位置</param>
/// <returns></returns>
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(
string lpAppName,
string lpKeyName,
string lpDefault,
StringBuilder lpReturnedString,
int nSize,
string lpFileName); /// <summary>
/// 调用动态链接库写入值
/// </summary>
/// <param name="mpAppName">ini节名</param>
/// <param name="mpKeyName">ini键名</param>
/// <param name="mpDefault">写入值</param>
/// <param name="mpFileName">文件位置</param>
/// <returns>0:写入失败 1:写入成功</returns>
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(
string mpAppName,
string mpKeyName,
string mpDefault,
string mpFileName);
#endregion /// <summary>
/// 读ini文件
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <returns>返回读取值</returns>
public static string IniRead(string section, string key, string path)
{
StringBuilder stringBuilder = new StringBuilder(); //定义一个最大长度为1024的可变字符串
GetPrivateProfileString(section, key, "", stringBuilder, , path); //读取INI文件
return stringBuilder.ToString(); //返回INI文件的内容
} /// <summary>
/// 写ini文件
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="iValue">待写入值</param>
public static void IniWrite(string section, string key, string iValue, string path)
{
WritePrivateProfileString(section, key, iValue, path); //写入
} /// <summary>
/// 根据文件名创建文件
/// </summary>
/// <param name="path">文件名称以及路径</param>
public static void iniCreat(string path)
{
if (!File.Exists(path)) //判断是否存在相关文件
{
FileStream _fs=File.Create(path); //不存在则创建ini文件
_fs.Close(); //关闭文件,解除占用
}
} /// <summary>
/// 删除ini文件中键
/// </summary>
/// <param name="section">节名称</param>
/// <param name="key">键名称</param>
/// <param name="path">ini文件路径</param>
public static void IniDelKey(string section,string key, string path)
{
WritePrivateProfileString(section, key, null, path); //写入
} /// <summary>
/// 删除ini文件中节
/// </summary>
/// <param name="section">节名</param>
/// <param name="path">ini文件路径</param>
public static void IniDelSection(string section, string path)
{
WritePrivateProfileString(section, null, null, path); //写入
}
}

IniHelper的更多相关文章

  1. IniHelper——INI操作辅助类

    使用INI配置文件,简单便捷. 该辅助工具类为C#操作INI文件的辅助类,源码在某位师傅的基础上完善的来,因为忘记最初的来源了,因此不能提及引用,在此深感遗憾,并对贡献者表示感谢. using Sys ...

  2. 关于C#调用非托管动态库方式的性能疑问

    最近的项目中,因为一些原因,需要C#调用非托管(这里为C++)的动态库.网上喜闻乐见的方式是采用静态(DllImport)方式进行调用.偶然在园子里看到可以用动态(LoadLibrary,GetPro ...

  3. 基于EasyUI的Web应用程序及过去一年的总结

    前言 在这家公司服务了一年时间,一个多月之前已经提交了离职申请,好在领导都已经批准了,过几天就办理手续了,在此感谢领导的栽培与挽留,感谢各位同事在工作中的给我的帮助,感谢师傅(在我心中当他是我师傅,跟 ...

  4. 基于正则的INI读写工具类,支持加密解密

    看到这个标题,有人会问,现在都用xml做配置文件了,谁还用INI文件啊!下面来简单对比一下xml和ini: 1.XML功能强大表达能力强,同时扩展性好. 2.它的主要优势是异构平台的整合.通讯. 3. ...

  5. C#访问配置文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  6. C#操作ini

    /// <summary> /// 读写INI文件的类. /// </summary> public class INIHelper { // 读写INI文件相关. [DllI ...

  7. WinForms 小型HTML服务器

    最近教学,使用到了Apache和IIS,闲着无聊,有种想自己写个小服务器的冲动. 在网上找了半天的资料,最后终于搞定了,测试可以访问.效果图如下: 因为只是处理简单的请求,然后返回请求的页面,所以没有 ...

  8. 原创 C# 正则表达式 读写 Ini 文件

    昨天遇到读ini文件的问题,我知道C#里没有提供相应的类,所有的.net配置都是xml方式存储的. 读取ini文件,很多人直接google一把,然后添加dll引用.介绍的比较详细的,如: C#如何读写 ...

  9. Ini文件帮助类

    .ini文件是什么 .ini 文件是Initialization File的缩写,就是初始化文件.在Windows系统中,其是配置文件所采用的存储格式(主要是system.ini,win.ini,sy ...

随机推荐

  1. 分布式架构探索 - 1. RPC框架之Java原生RMI

    1. 什么是RPC RPC(Remote Procedure Call)即远程过程调用,指的是不同机器间系统方法的调用,这和 同机器动态链接库(DLL)有点类似,只不过RPC是不同机器,通过网络通信来 ...

  2. chrome插件离线包下载和安装

    添加扩展一般会有个url https://chrome.google.com/webstore/detail/axure-rp-extension-for-ch/dogkpdfcklifaemcdfb ...

  3. android自己定义控件之飞入飞出控件

    近期呢,本人辞职了.在找工作期间.不幸碰到了这个求职淡季,另外还是大学生毕业求职的高峰期,简历发了无数份却都石沉大海.宝宝心里那是一个苦啊! 翻着过去的代码,本人偶然找到了一个有意思的控件.那时本人还 ...

  4. go微服务框架go-micro深度学习-目录

    go微服务框架go-micro深度学习(一) 整体架构介绍 go微服务框架go-micro深度学习(二) 入门例子 go微服务框架go-micro深度学习(三) Registry服务的注册和发现 go ...

  5. centos7下docker二进制安装

    问题描述: 内网离线环境下,安装docker.二进制来的还是快点,或者内网搭建yum的epel仓库! 环境: centos7.x docker-18.9.0 x86_64  static //二进制 ...

  6. Delphi提取PDF文本

    生成PDF的控件很多,但解析的不是太多,pdf Toolkit可以,但测试的第一个复杂的pdf就报告错误,并且汉字乱码,可能使用的版本或使用方法不对. 想起之前使用java调用的Apache名下的pd ...

  7. php中urlencode与rawurlencode的区别

    前段时间说自己遇到了个<URL加号引发错误>的BUG,引起这个bug的原因就是自己在URL中使用了 urlencode 函数,该函数会把空格转换成加号,这样就导致URL解析出错,而空格只有 ...

  8. Java读取Excel内容

    借助于apathe的poi.jar,由于上传文件不支持.jar所以请下载后将文件改为.jar,在应用程序中添加poi.jar包,并将需要读取的excel文件放入根目录即可 本例使用java来读取exc ...

  9. Intel Fortran 调用Delphi编制的DLL

    module link_cont interface subroutine I_FileOpenCont (ncase,ndata,lpool,xfiles) integer(kind=) :: nc ...

  10. EntityFramework安装失败

    PM> Install-Package EntityFramework正在尝试收集与目标为“.NETFramework,Version=v4.0”的项目“ConsoleApplication1” ...