学习用C#中操作ini文件过程中,在网上查了很多文章,但是感觉自己基础太薄弱,对各位大神发的文章不是特别理解,摸索了很久也才只学会了创建ini文件和读写ini文件。下面给出一个我写的小例子。
-
首先,建立一个winform项目,我将其命名为ini文件操作。如图所示
-
然后在项目中新建一个类,我将其命名为IniFiles,如图所示
-
打开IniFiles类,首先在这个类里面添加下列引用:
using System.IO;
using System.Runtime.InteropServices; -
在IniFiles类中,声明API函数
//声明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); -
在IniFiles类中,定义一个字符串变量,用于存放路径
public string inipath; -
在IniFiles类中,创建构造方法
///
/// 构造方法
///
/// 文件路径
public IniFiles(string INIPath)
{
inipath = INIPath;
}public IniFiles() { }
-
在IniFiles类中,创建写入配置文件的方法,(实际上就是将原本的复杂的写法简单化)
///
/// 写入INI文件
///
/// 项目名称(如 [Name] )
/// 键
/// 值
public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.inipath);
} -
在IniFiles类中,创建读配置文件的方法
///
/// 读出INI文件
///
/// 项目名称(如 [TypeName] )
/// 键
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, “”, temp, 500, this.inipath);
return temp.ToString();
} -
在IniFiles类中,创建验证配置文件是否存在的方法
public bool ExistINIFile()
{
return File.Exists(inipath);
} -
在Form1.cs中,创建一个ini文件
IniFiles ini = new IniFiles(Application.StartupPath + @"\PG.INI");
//一般Application.StartupPath的路径在\代码目录\bin\Debug下 -
现在就可以在其他函数中向ini写入了,写入后,打开配置文件,如下图所示,说明内容已经写入了
ini.IniWriteValue(“登录信息”, “用户名”, “test”);//写入一条数据
ini.IniWriteValue(“登录信息”, “密码”, “password”);//写入一条数据
-
创建了ini文件,并且向其中写入了内容,后面,我们尝试读取以下ini文件里的内容
将ini文件对应的值读出,写入下面代码:
string s5 = ini.IniReadValue(“登录信息”, “用户名”);
MessageBox.Show(s5 );得到的结果如下,说明已经成功读取!