C# 讀取INI文件


廢話不多說,直接上代碼

1:引入命名空間
System.Runtime.InteropServices
System.IO
2:寫一個類 iniHelper

public class IniHelper
{
    [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);

    /// <summary>
    /// 讀取ini文件
    /// </summary>
    /// <param name="Section">名稱</param>
    /// <param name="Key">關鍵字</param>
    /// <param name="defaultText">默認值</param>
    /// <param name="iniFilePath">ini文件地址</param>
    /// <returns></returns>
    public static string GetValue(string Section, string Key, string defaultText, string iniFilePath)
    {
        if (File.Exists(iniFilePath))
        {
            StringBuilder temp = new StringBuilder(1024);
            GetPrivateProfileString(Section, Key, defaultText, temp, 1024, iniFilePath);
            return temp.ToString();
        }
        else
        {
            return defaultText;
        }
    }

    /// <summary>
    /// 寫入ini文件
    /// </summary>
    /// <param name="Section">名稱</param>
    /// <param name="Key">關鍵字</param>
    /// <param name="defaultText">默認值</param>
    /// <param name="iniFilePath">ini文件地址</param>
    /// <returns></returns>
    public static bool SetValue(string Section, string Key, string Value, string iniFilePath)
    {
        var pat = Path.GetDirectoryName(iniFilePath);
        if (Directory.Exists(pat) == false)
        {
            Directory.CreateDirectory(pat);
        }
        if (File.Exists(iniFilePath) == false)
        {
            File.Create(iniFilePath).Close();
        }
        long OpStation = WritePrivateProfileString(Section, Key, Value, iniFilePath);
        if (OpStation == 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
}

5:可以手動新建ini文件,也可自動創建ini文件,博=主比較懶,直接手動創建的

我ini文件是這樣配置的:

    [我的數據]    
    MyID=9527

4:直接調用
string MyID = Console.ReadLine();
//寫入文件
string file = System.Environment.CurrentDirectory + @"\config.ini";
if (file!=null)
{
IniHelper.SetValue("我的數據", "MyID", MyID, file);
}
Console.WriteLine("我輸入的ID為{0}",MyID);
//讀取文件
if (file != null)
{
MyID = IniHelper.GetValue("我的數據", "MyID", "", file);
Console.WriteLine("我讀取到的ID為{0}"+MyID);
Console.ReadLine();
}


免責聲明!

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



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