欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 操作INI文件

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

導讀

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


INI文件介紹

INI文件

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

INI文件結(jié)構(gòu)

  • 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函數(shù)對文件的操作

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

寫操作函數(shù)說明

函數(shù)聲明

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

        /// <summary>
        /// 修改INI文件內(nèi)容
        /// </summary>
        /// <param name="lpApplicationName">節(jié)點名稱(段落名稱)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
)
;
調(diào)用
        /// <summary>
        /// 保存ini
        /// </summary>
        /// <param name="section">節(jié)點/段落名稱</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
        */

讀操作函數(shù)說明

函數(shù)聲明

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

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


調(diào)用
        /// <summary>
        /// 根據(jù)section,key取值,并設置默認值
        /// </summary>
        /// <param name="section">節(jié)點/段落名稱</param>
        /// <param name="key">項/Key名稱</param>
        /// <param name="def">默認值</param>
        /// <param name="filePath">文件路徑</param>
        /// <returns>返回指定內(nèi)容,若不存在則返回默認值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的實現(xiàn)方法,針對此方法編寫了幫助類,項目已上傳至Gitee

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

類文件:YYIniHelper.INIHelper.cs


個人交流QQ:1695690324

原創(chuàng)不易,轉(zhuǎn)載請注明出處

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