INI文件就是扩展名为“ini”的文件。在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。但在某些场合,INI文件还拥有其不可替代的地位。本文就来探讨一下C#是如何对INI进行读写操作。

INI文件的结构

INI文件是一种按照特点方式排列的文本文件。每一个INI文件构成都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。其一般形式如下:

[Section1]

  KeyWord1 = Valuel

  KeyWord2 = Value2

   ……

  [Section2]

  KeyWord3 = Value3

  KeyWord4 = Value4

C#操作INI文件使用的是Windows系统自带Win32的API函数WritePrivateProfileString()和GetPrivateProfileString()函数。这二个函数都位于“kernel32.dll”文件中。

C#利用命名空间“System.Runtime.InteropServices”中的“DllImport”特征类申明上面二个Win32的API函数:

[DllImport("kernel32")]

private static extern long WritePrivateProfileString(string section,string key,string val, string filePath);

参数说明:section:INI文件中的段落;key:INI文件中的关键字;

val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。

[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文件进行写操作,如果此时在INI文件中存在和要写入的信息相同的段落名称和关键字,将覆盖此INI信息。

正确读取INI的必须满足三个前提:INI文件的全路径、段落名称和关键字名称。

转载于:https://www.cnblogs.com/ctddjyds/p/7140563.html

C#中读写INI文件相关推荐

  1. VC中读写ini文件

    我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAP ...

  2. 在.NET中读写INI文件 ——兼谈正则表达式的应用

    INI文件是Windows平台上的一种较常用的软件配置文件格式,Windows应用程序常常使用它来保存一些配置信息.它一般是由数个包含key-value对的Section组成,每个key-value对 ...

  3. C#学习笔记——读写ini文件

    1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: ...

  4. VC中操作INI文件的API

    VC中操作INI文件的API (1)操作系统配置文件Win.ini的函数: 函数名 功能 GetProfileSection 读取win.ini中指定节lpAppName中所有键名及其值.lpRetu ...

  5. Visual basic 6读写ini文件

    ini文件是windows的系统配置文件, 被用来对操作系统或特定程序初始化或进行参数设置. 在Windows系统中,INI文件是很多,最重要的就是"System.ini".&qu ...

  6. C#关于读写INI文件

    C#关于读写INI文件 什么是ini文件就是一个配置文件,一般把数据库等配置信息放进去,然而,改变数据库的密码,数据库名称,ip等,不要改源码重新编译,只需要用记事本打开set.ini 文件,修改保存 ...

  7. C# 读写Ini文件

    ini文件在Win95以前比较盛行,之后由于出册表等技术的出现,ini技术主键退居二线,不过对于一些小项目,读写ini文件还是很适用的. Windows API提供了读写配置文件的操作,在C#程序中只 ...

  8. 在 WinCe 平台读写 ini 文件

    在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数.在网络上我并没有找到令我满意的 ...

  9. QT中读写.ini配置文件的操作

    ini 文件(即Initialization file):这种类型的文件中通常存放的是一个程序的初始化信息.ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个K ...

最新文章

  1. VIP群第一期讲座实屏片段摘录
  2. OpenCV中GPU模块使用
  3. 项目不需要SVN控制的时候,该怎么办
  4. localhost 已拒绝连接_MySQL连接错误:Access denied for #x27;root#x27;@#x27;localhost#x27;
  5. iphone无线充电充电测试软件,瞎折腾星人的测评 篇一:想体验iPhone的无线充电?这可能是最具性价比的选择了!...
  6. c++ map 函数
  7. 数位板驱动压力测试_【又来甩锅了】数位板/数位屏延迟怎么办?
  8. 洛谷P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)
  9. Impala命令COMPUTE STATS的解析
  10. 可实现ffmpeg转码的cuda显卡
  11. 关闭计算机主机还亮着,Win10系统电脑关机后主机电源灯依然亮着的解决方法
  12. 2019年网络安全灾难事件,5大勒索病毒软件
  13. 十月的天气 风吹过你的气息
  14. dp算法之平安果路径问题c++
  15. QS排名前70-100的英国大学怎么选?
  16. 阿里云CDN边缘图像处理功能内测
  17. One Card Poker——AtCoder - abc054_a
  18. 中小软件企业管理存在的问题
  19. 7-2 计算正五边形的面积和周长 (25分)
  20. java定时任务原理,东软集团java面试题

热门文章

  1. python csv读写方法_python中csv文件的若干读写方法小结
  2. python 常用镜像
  3. POJ C++程序设计 编程题#7:字符串排序
  4. JavaWeb -- Session实例 -- 自动登录 和 防止表单重复提交(令牌产生器) MD5码
  5. C 学习笔记 - 数组
  6. 【DI专题】在 DI 脚本文件中调用存储过程
  7. document.createDocumentFragment 以及创建节点速度比较
  8. javaScript第二天(1)
  9. mybatis中#和$区别
  10. springboot ajax返回html