INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数.
INI文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:
[Section1]
    KeyWord1 = Value1
    KeyWord2 = Value2
    ...
[Section2]
    KeyWord3 = Value3
    KeyWord4 = Value4

C#命名空间中没有直接读写INI的类,当然如果你把INT当成文本文件用System.IO类来读写算我没说.
我现在介绍的是系统处理INI的方法.
虽然C#中没有,但是在"kernel32.dll"这个文件中有Win32的API函数--WritePrivateProfileString()和GetPrivateProfileString()
C#声明INI文件的写操作函数WritePrivateProfileString():

[DllImport(  " kernel32 "  )]
   private   static   extern   long  WritePrivateProfileString (  string section , string  key ,  string  val 
,  string  filePath ) ;

参数说明:section:INI文件中的段落;key:INI文件中的关键字;val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。
C#申明INI文件的读操作函数GetPrivateProfileString():

[DllImport( " kernel32 " )]
  private   static   extern   int  GetPrivateProfileString (  string  section ,
   string  key ,  string  def , StringBuilder retVal ,
   int  size ,  string  filePath ) ;

参数说明:section:INI文件中的段落名称;key:INI文件中的关键字;def:无法读取时候时候的缺省数值;retVal:读取数值;size:数值的大小;filePath:INI文件的完整路径和名称。

下面是一个读写INI文件的类:

public   class  INIClass
{
  public   string  inipath;
 [DllImport( " kernel32 " )]
  private   static   extern   long  WritePrivateProfileString( string  section, string  key, string  val, string  filePath);
 [DllImport( " kernel32 " )]
  private   static   extern   int  GetPrivateProfileString( string  section, string  key, string  def,StringBuilder retVal, int  size, string  filePath);
  ///   <summary>
  ///  构造方法
  ///   </summary>
  ///   <param name="INIPath"> 文件路径 </param>
  public  INIClass( string  INIPath)
 {
  inipath  =  INIPath;
 }
  ///   <summary>
  ///  写入INI文件
  ///   </summary>
  ///   <param name="Section"> 项目名称(如 [TypeName] ) </param>
  ///   <param name="Key"> 键 </param>
  ///   <param name="Value"> 值 </param>
  public   void  IniWriteValue( string  Section, string  Key, string  Value)
 {
  WritePrivateProfileString(Section,Key,Value, this .inipath);
 }
  ///   <summary>
  ///  读出INI文件
  ///   </summary>
  ///   <param name="Section"> 项目名称(如 [TypeName] ) </param>
  ///   <param name="Key"> 键 </param>
  public   string  IniReadValue( string  Section, string  Key)
 {
  StringBuilder temp  =   new  StringBuilder( 500 );
   int  i  =  GetPrivateProfileString(Section,Key, "" ,temp, 500 , this .inipath);
   return  temp.ToString();
 }
  ///   <summary>
  ///  验证文件是否存在
  ///   </summary>
  ///   <returns> 布尔值 </returns>
  public   bool  ExistINIFile()
 {
   return  File.Exists(inipath);
 }
}

C# 读写ini配置文件
1、新建类,引入命名空间 using System.Runtime.InteropServices;
2、声明API函数:

[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

3、实现:写

/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="field">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public void GetValueOfKey(string field, string Key, string Value)
{WritePrivateProfileString(field, Key, Value, iniFilePath);
}

4、实现:读

/// <summary>
/// 读出INI文件
/// </summary>
/// <param name="field">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string field, string Key)
{StringBuilder temp = new StringBuilder(500);int i = GetPrivateProfileString(field, Key, "", temp, 500, this.inipath);return temp.ToString();
}

C# 读写ini配置文件demo相关推荐

  1. python读取配置文件 分段_Python3读写ini配置文件的示例

    ini文件即Initialization File初始化文件,在应用程序及框架中常作为配置文件使用,是一种静态纯文本文件,使用记事本即可编辑. 配置文件的主要功能就是存储一批变量和变量值,在ini文件 ...

  2. C/C++ ini配置文件的格式及如何读写ini配置文件

    一.ini配置文件的格式 为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序 ...

  3. C# 读写ini配置文件

     C# 读写ini配置文件 一.简述  记--c#通过调用系统api接口进行简单读写ini配置文件. 例子打包:外链:https://wwa.lanzoui.com/b0c9nm3pa 密码:8maq ...

  4. C++读写ini配置文件GetPrivateProfileString()WritePrivateProfileString()

    转自:http://hi.baidu.com/andywangcn/blog/item/10ba730f48160eeb37d122e9.html 配置文件中经常用到ini文件,在VC中其函数分别为: ...

  5. 【转载】C++读写ini配置文件GetPrivateProfileString()WritePrivateProfileString()

    配置文件中经常用到ini文件,在VC中其函数分别为: #include <Windows.h> //wince,WMobile.ppc不支持这几个函数 写入.ini文件:bool Writ ...

  6. 批处理之读写ini配置文件

    1. 简介 批处理并没有直接读写ini文件的功能.所以只能通过读取文件内容分析比较来找到相应段名.键名对应位置,然后提取相应字符串来做为读.写则是找到键名对应的内容,然后进行替换,重新新的文件然后覆盖 ...

  7. 【Y忍冬草】QT读写ini配置文件

    文章目录 1.ini文件格式 2. ini配置文件的读写.删除 3. 结果 4.源码下载  在我们进行软件系统开始时,对于一些参数我们需要进行配置,这时我们就会用ini类型的配置文件.其实我们在很多软 ...

  8. QT中如何读写ini配置文件

    本文首发于「3D视觉工坊」知识星球. 如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取. 第一步:界面构造函数中, ...

  9. 【Python教程】读写ini配置文件的详细操作

    ini文件即Initialization File初始化文件,在应用程序及框架中常作为配置文件使用,是一种静态纯文本文件,使用记事本即可编辑. 配置文件的主要功能就是存储一批变量和变量值,在ini文件 ...

最新文章

  1. js 字符串截取(包含中英文)
  2. cakephp视图用php文件,CakePHP - 扩展视图( Extending Views)
  3. 结对编程 黄金点游戏
  4. #{}不自动改参数类型_ORT-260电动打包机常规参数
  5. gpio 树莓派3a+_树莓派4正式发布!硬件性能大提升:CPU提升3倍,支持USB3.0、蓝牙5.0、千兆以太网、4G LPDDR4、H.265...
  6. LaTeX的编译速度优化方案
  7. C++基础学习(01)--(介绍,环境配置,基本语法,注释)
  8. 论文浅尝 | 一日看尽长安花--NLP可解释研究梳理
  9. 计算机 运行新ie 命令,电脑中通过执行命令来清除IE浏览器隐私数据的方法
  10. python django项目实例_最新Django项目实战-从零开发NB的任务平台python视频学习教程...
  11. 使用UltraISO制作LINUX安装U盘(未成功)
  12. 1t硬盘怎么分区最好_新买的固态硬盘该不该分区?分区后性能如何?真是后悔知道晚了!...
  13. 三主模式高可用k8s集群搭建
  14. python分词代码
  15. SSIM结构相似性算法
  16. latex公式符号大全
  17. WPS的JS宏设置文档的表格底色
  18. 食物链 (种类并查集)
  19. learn opengl 笔记 1.2
  20. JavaScript:HTML中的UI->标签

热门文章

  1. vnc连接linux颜色灰色,VNC 灰色的屏幕解决方法
  2. python下载微信公众号文章_python如何导出微信公众号文章
  3. java.io.eof_java.io.IOException: java.io.EOFException: Unexpected end of input stream错误
  4. Java若_【JAVA基础】JAVA四种引用(强软若虚)
  5. double类型最大值_Java后端精选基础教程:Java 中的基本数据类型「连载 6」
  6. 科普 | Wi-Fi 6 十问十答
  7. HDLBits答案(21)_Verilog有限状态机(8)
  8. python编程基础_月隐学python第2课
  9. yml连接sqlserver_springboot配置双数据源 MySQL和SqlServer
  10. 信用评分python_信用评分卡(python)