c#最好用最簡單、最好用的ini配置文件輔助類


c#開發項目時經常用到配置,一般我們會根據具體項目需求,有時把配置寫到數據庫,有時寫到web.config,有時定到ini文件中。在開發winform程序的時候我們最常用的就是定到app.config和ini文件中。今天我分享一個最好用最簡單、最好用的ini配置文件輔助類,親測好用。

public class IniFileHelper
{
    #region API函數聲明
 
    [DllImport("kernel32")]//返回0表示失敗,非0為成功
    private static extern long WritePrivateProfileString(string section,string key,
        string val,string filePath);
 
    [DllImport("kernel32")]//返回取得字符串緩沖區的長度
    private static extern long GetPrivateProfileString(string section,string key,
        string def,StringBuilder retVal,int size,string filePath);
 
 
    #endregion
 
    #region 讀Ini文件
 
    public static string ReadIniData(string Section,string Key,string NoText,string iniFilePath)
    {
        if(File.Exists(iniFilePath))
        {
            StringBuilder temp = new StringBuilder(1024);
            GetPrivateProfileString(Section,Key,NoText,temp,1024,iniFilePath);
            return temp.ToString();
        }
        else
        {
            return String.Empty;
        }
    }
 
    #endregion
 
    #region 寫Ini文件
 
    public static bool WriteIniData(string Section,string Key,string Value,string iniFilePath)
    {
        if(!File.Exists(iniFilePath))
        {
            using(FileStream fs=new FileStream(iniFilePath,FileMode.Create,FileAccess.Write))
            {
                fs.Close();
            }
        }
        if(File.Exists(iniFilePath))
        {
            long OpStation = WritePrivateProfileString(Section,Key,Value,iniFilePath);    
            if(OpStation == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        else
        {
            
            return false;
        }
    }
 
    #endregion
}

讀取節點信息:

IniFileHelper.ReadIniData("config", "lastPath", "", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lahuseo.ini"));

程序自動到當前執行程序的根目錄找文件名為”lanhuseo.ini“的文件,節點組為config,節點key為lastpath的值

更新節點信息:

IniFileHelper.WriteIniData("config", "lastPath"
                , txtLogDirOrFile.Text.Trim()
                , System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lahuseo.ini"));

這樣存的文件內容為:

[config]
lastPath=C:\Users\Administrator\Desktop\新建文件夾\W3SVC12

這里用到用到了DllImport直接用了windows系統內核的kernel32.dll的現成的兩個方法,WritePrivateProfileString和GetPrivateProfileString。如果在寫文件沒有指定的文件會自動創建一個相應的ini文件,在讀的時候沒有文件直接返回空,當然這里你可以根據你的需要修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM