狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 操作INI文件

admin
2023年10月7日 10:19 本文熱度 628

導讀

.NET程序中,可以作為配置文件使用的格式又很多,INI文件在某些場景應用較為廣泛,如串口參數、一些工作站本地參數等等,INI文件主要用途為讀取指定節點的配置內容,以及修改指定節點。一下文章主要描述在程序對INI文件的操作。


INI文件介紹

INI文件

  • ini文件本質上就是一個擴展名為ini的文本文檔,也可以當成記事本來操作。
  • 與文本文檔的區別在于,ini文件有自己的格式。

INI文件結構

  • INI文件由段落(section)、鍵(key)、值(value)組成
  • section為段落名稱,也可以理解為一個分組的標題。中括號表示。例如:[IPLIST]
  • 鍵和值以key=nalue的形式表示,每個段落可以有多個鍵值對;

INI文件格式示例

[section_A] 

key1=value1 

key2=value2 

key3=value3 

[section_B] 

key1=value1 

key2=value2 

key3=value3 

... ... ... ...

[IPLIST]
k1=127.0.0.1
k2=127.0.0.2
k3=127.0.0.3
;IP列表

每行開頭添加 ";"為注釋

在C#中操作INI文件

在C#命名空間中沒有專門操作INI文件的類,但在kernel32.dll中,有Win32的API函數對文件的操作

  • WritePrivateProfileString():寫操作函數
  • GetPrivateProfileString():讀操作函數

寫操作函數說明

函數聲明

DllImport需引入命名空間 using System.Runtime.InteropServices;

        /// <summary>
        /// 修改INI文件內容
        /// </summary>
        /// <param name="lpApplicationName">節點名稱(段落名稱)section</param>
        /// <param name="lpKeyName">要設置的項名,Key</param>
        /// <param name="lpString">要寫入的新字符串Value</param>
        /// <param name="lpFileName">INI文件晚掙路徑</param>
        /// <returns>0表示失敗,非零表示成功</returns>
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString
            (string lpApplicationName, 
            string lpKeyName, 
            string lpString, 
            string lpFileName
)
;
調用
        /// <summary>
        /// 保存ini
        /// </summary>
        /// <param name="section">節點/段落名稱</param>
        /// <param name="key">項/Key名稱</param>
        /// <param name="value"></param>
        /// <param name="filePath">ini文件路徑</param>
        public static void WriteIniKeys(string section, string key, string valuestring filePath)
        {
            WritePrivateProfileString(section, key, value, filePath);
        }

        /*
         * 若value為null則會刪除配置文件中對應的key
         * 若key value為null則會刪除對應的section
        */

讀操作函數說明

函數聲明

DllImport需引入命名空間 using System.Runtime.InteropServices;

        /// <summary>
        /// 獲取INI中指定字符串
        /// </summary>
        /// <param name="lpAppName">節點名稱(段落名稱)section</param>
        /// <param name="lpKeyName">項名,Key</param>
        /// <param name="lpDefault">未找到指定項時返回的默認值</param>
        /// <param name="lpReturnedString">指定一個字符串緩沖區,長度至少為nSize</param>
        /// <param name="nSize">指定裝載到lpReturnedString緩沖區的最大字符數量</param>
        /// <param name="lpFileName">INI文件路徑</param>
        /// <returns>復制到lpReturnedString中的字節數量</returns>
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString
            (string lpAppName,
            string lpKeyName,
            string lpDefault,
            StringBuilder lpReturnedString,
            int nSize,
            string lpFileName
)


調用
        /// <summary>
        /// 根據section,key取值,并設置默認值
        /// </summary>
        /// <param name="section">節點/段落名稱</param>
        /// <param name="key">項/Key名稱</param>
        /// <param name="def">默認值</param>
        /// <param name="filePath">文件路徑</param>
        /// <returns>返回指定內容,若不存在則返回默認值def</returns>
        private static string ReadIniKeys(string section, string key, string def, string filePath)
        {
            StringBuilder temp = new StringBuilder(1024);
            GetPrivateProfileString(section, key, def, temp, 1024, filePath);
            return temp.ToString();
        }

以上為C#讀寫INI的實現方法,針對此方法編寫了幫助類,項目已上傳至Gitee

地址 :https://gitee.com/yang-yong-666/csharp

類文件:YYIniHelper.INIHelper.cs


個人交流QQ:1695690324

原創不易,轉載請注明出處

博客園:https://www.cnblogs.com/yangyongdashen-S/

CSDN:https://blog.csdn.net/weixin_44312699?spm=1010.2135.3001.5343

Gitee:https://gitee.com/yang-yong-666

公眾號:yi人夕岸


該文章在 2023/10/7 10:19:34 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved