C#中读写INI文件

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文件的全路径、段落名称和关键字名称。

时间: 2024-10-14 22:05:47

C#中读写INI文件的相关文章

VC中读写INI文件

在VC2015中读写INI文件,文件以ANSI格式保存,如果以UTF-8保存,可能会产生乱码. LPCTSTR  strfile = _T(".//config.ini"); TCHAR value[255] = { 0 }; //读键值 GetPrivateProfileString( _T("ui"), _T("button1"),  _T("default"), value, 200, strfile); //写键值对

python3.52 使用configparser模块读写ini文件

使用configparser模块读写ini文件,如果是python 2.7 使用为 import ConfigParser,python 3.2 以后的版本中 ,应当使用import configparser.Python的configparser Module中定义了3个类对INI文件进行操作.分别是RawConfigParser.ConfigParser.SafeConfigParser.模块所解析的ini配置文件是由多个section构成,每个section名用中括号'[]'包含,每个se

在 WinCe 平台读写 ini 文件

在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数.在网络上我并没有找到令我满意的相应代码,因此我手工自己写了相应的方法.命名规则是,在 PC API 函数的名称前面加上 “Ce” 前缀,这是为了在 PC 平台上调试和使用时,不和系统的 API 函数发生冲突.值得注意的是,在写 CeWritePrivateProfileString 方法时,如果改写后的 ini 文件应该比改写前

C#读写INI文件

C#读写INI文件,需要用到两个API函数 WritePrivateProfileString GetPrivateProfileString 需要特别注意的是:这两个函数中的*.ini文件地址要使用绝对地址 下面程序的功能,是在一个空文件test.ini中,写入一些属性,并读取 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.

C# 读写INI 文件

INI 格式: [Section1] KeyWord1 = Value1 KeyWord2 = Value2 ... [Section2] KeyWord3 = Value3 KeyWord4 = Value4 public class INIClass { public string inipath; [DllImport("kernel32")] private static extern long WritePrivateProfileString( string section

在.net中读写config文件的各种方法(自定义config节点)

http://www.cnblogs.com/fish-li/archive/2011/12/18/2292037.html 阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collection config文件 - 读与写 读写 .net framework中已经定义的节点 xml配置文件 xml配置文件 - CDATA xml文件读写注意事项 配置参数的

【python-ini】python读写ini文件

本文实例讲述了Python读写ini文件的方法.分享给大家供大家参考.具体如下: 比如有一个文件update.ini,里面有这些内容: 1 2 3 4 5 6 7 8 [ZIP] EngineVersion=0 DATVersion=5127 FileName=dat-5127.zip FilePath=/pub/antivirus/datfiles/4.x/ FileSize=13481555 Checksum=6037,021E MD5=aaeb519d3f276b810d46642d782

wince中对ini文件的操作

下面是代码 class ZT_INI { /************************************************************************/ /*写操作 * strSection 节 * strKey 键 * strValue 需要写入的值 * strFilePath 配置文件的全路径(wince中只能使用绝对全路径) */ /************************************************************

读写INI文件操作类

IniHelper 类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace SingleStore.Code { public class IniHelper { // 声明INI文件的写操作函数 WritePrivateProfileString() [DllImport("ker