在C#中如何读写INI文件

在C#中通过调用API实现读写INI文件

下面是实现的C#代码

//////////////////////////////////////////////////////////////
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;

namespace EchonComponentLibrary
{
    /// <summary>
    /// IniFile 的摘要说明。
    /// </summary>
    public class IniFile
    {
        private string FFileName;

        [DllImport("kernel32")]
        private static extern int GetPrivateProfileInt(
            string lpAppName,
            string lpKeyName,
            int nDefault,
            string lpFileName
        );
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(
            string lpAppName,
            string lpKeyName,
            string lpDefault,
            StringBuilder lpReturnedString,
            int nSize,
            string lpFileName
        );
        [DllImport("kernel32")]
        private static extern bool WritePrivateProfileString(
            string lpAppName,
            string lpKeyName,
            string lpString,
            string lpFileName
        );

        public IniFile(string filename)
        {
            FFileName = filename;
        }
        public int ReadInt(string section,string key,int def)
        {
            return GetPrivateProfileInt(section,key,def,FFileName);
        }
        public string ReadString(string section,string key,string def)
        {
            StringBuilder temp = new StringBuilder(1024);
            GetPrivateProfileString(section,key,def,temp,1024,FFileName);
            return temp.ToString();
        }
        public void WriteInt(string section,string key,int iVal)
        {
            WritePrivateProfileString(section,key,iVal.ToString(),FFileName);
        }
        public void WriteString(string section,string key,string strVal)
        {
            WritePrivateProfileString(section,key,strVal,FFileName);
        }
        public void DelKey(string section,string key)
        {
            WritePrivateProfileString(section,key,null,FFileName);
        }
        public void DelSection(string section)
        {
            WritePrivateProfileString(section,null,null,FFileName);
        }

    }
}

原文地址:https://www.cnblogs.com/fhuafeng/p/1457031.html