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);

3. 生成文件

C#学习笔记之INI文件处理