C# INI配置文件读写

纵然是瞬间 提交于 2019-11-28 07:23:50

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.IO;

class IniConfig
{
    private string inipath = AppDomain.CurrentDomain.BaseDirectory + "Config.ini";
    public bool CanRead()
    {
        if (File.Exists(inipath))
        {
            return true;
        }
        return false;
    }
    //声明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);
    /// <summary> 
    /// 写入INI文件 
    /// </summary> 
    /// <param name="Section">项目名称(如 [TypeName] )</param> 
    /// <param name="Key">键</param> 
    /// <param name="Value">值</param> 
    public void IniWriteValue(string Section, string Key, string Value)
    {
        WritePrivateProfileString(Section, Key, Value, this.inipath);
    }
    /// <summary> 
    /// 读出INI文件 
    /// </summary> 
    /// <param name="Section">项目名称(如 [TypeName] )</param> 
    /// <param name="Key">键</param> 
    public string IniReadValue(string Section, string Key)
    {
        StringBuilder temp = new StringBuilder(500);
        int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
        return temp.ToString();
    }

}

调用方法

IniConfig ic;

  private void Form1_Load(object sender, EventArgs e)
        {
            ic = new IniConfig();
            if (!ic.CanRead())
            {
                ic.IniWriteValue("数据库", "DB_Connect", "server=.;database=XXX;uid=sa;pwd=sa;Connect Timeout=5");
            }

}

读取

 string AAA=ic.IniReadValue("数据库", "DB_Connect");

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!