C#学习笔记之INI文件处理
在使用C#时有些时候要存储一些信息,会使用到INI配置文件。
using System.Runtime.InteropServices;
1. 源码
namespace HCIUtilsLog
{
class ZGIniFile
{
private 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);
public void initINI()
{
iniPath = createFolder();
}
public void writeKey(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, iniPath);
}
public string readKey(string Section, string Key)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, iniPath);
return temp.ToString();
}
private string createFolder()
{
string subPath = "./config";
if (false == System.IO.Directory.Exists(subPath))
{
System.IO.Directory.CreateDirectory(subPath);
}
return subPath + "/EllisysInject.ini";
}
}
}
2. 使用方式
使用起来很简单,就三个函数,initINI,readKey, writeKey;
2.1.声明
private ZGIniFile zgIni = new ZGIniFile();
2.2.初始化
zgIni.initINI();
2.3.读写接口
string serial = zgIni.readKey("Port", "serial");
// cmbDevice.PortName 串口号
zgIni.writeKey("Port", "serial", cmbDevice.PortName);