C#讀寫ini配置文件實例

2022-01-25 CSharp編程大全

我們搞工控上位機的軟體,經常需要用到存參數到本地的配置文件,保存配置文件方式很多,比如xml,ini,json等都有,今天發一個使用ini存取參數的方法。

ini文件的結構如下圖,[C#上位機群大佬]方括號下的是節點,Name和Sex是鍵,=號後面的「李增光」就是我們需要存的參數值Value,總的來說ini結構就是節點-鍵-值,一個文件可以有多個節點。


讀取和寫入的方法,這裡我們借用winapi的函數來快速對ini文件的讀寫操作,這裡調出winapi的函數後,再進行了封裝為getini函數和writeini函數,具體使用可以看實現代碼的注釋。

using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;
namespace 讀寫INI{ class Program { [DllImport("kernel32")] private static extern long WritePrivateProfileString(string node, string key, string value, string filepath);
[DllImport("kernel32")] private static extern int GetPrivateProfileString(string node, string key, string value, StringBuilder result, int size, string filePath);

static void Main(string[] args){ } static string iniPath = Environment.CurrentDirectory + "\\config.ini"; private static void GetIni(){ StringBuilder builder = new StringBuilder(1024); int len = GetPrivateProfileString("C#上位機群大佬", "Name", "", builder, 1024, iniPath); Console.WriteLine(builder.ToString()); Console.ReadKey(); } private static void WriteIni(){ long len = WritePrivateProfileString("C#上位機群大佬", "Name", "李增光", iniPath); len = WritePrivateProfileString("C#上位機群大佬", "Sex", "男", iniPath);
len = WritePrivateProfileString("C#上位機群號", "群號", "633251761", iniPath); len = WritePrivateProfileString("C#上位機群號", "歡迎", "歡迎加入", iniPath); } }}

連結:https://pan.baidu.com/s/1BO8RJIMDbu8EDaPmJEwK2g


技術群: 需要進技術群的添加小編微信mm1552923,備註:加群;

相關焦點

  • C# 讀寫Ini文件
    ini文件在Win95以前比較盛行,之後由於出冊表等技術的出現,ini技術主鍵退居二線,不過對於一些小項目,讀寫ini文件還是很適用的。       Windows API提供了讀寫配置文件的操作,在C#程序中只要導入相應的API即可。
  • Python讀取ini配置文件
    在日常開發過程中,會有很多的時候都涉及到配置文件的問題。近期編寫的一個小應用也涉及到了此問題,今天特意拿出來寫一下。目前是使用python來實現的,將代碼打包成了exe文件,方便客戶進行測試。下面說一下配置文件,本次直說ini格式的配置文件。創建ini文件在目錄中創建.ini文件,我們以config.ini文件名為例。進行創建。在創建好的文件內編寫配置信息。
  • QT學習之如何讀寫配置文件(QSettings)
    概述        有時候,我們需要根據本地的配置文件,去配置我們的程序,在其他語言中,可能需要自己去寫讀寫文件的邏輯,而在QT中,就直接提供了
  • 程式語言-C/C++中INI配置文件地介紹
    這就用到INI配置文件了,該文件的使用非常簡單並且非常實用,即保存程序運行過程中產生的變量(整形或字符串等),當程序再次運行時調用上一次保存在INI配置文件中的變量繼續運行。2.接下來是INI配置文件的使用:        首先是獲取.INI配置文件中的預存信息其函數為:DWORD GetPrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefaut, LPSTR
  • Python configparsr標準庫簡介:輕鬆處理INI文件
    如果你要使用Python處理類似ini這種格式的文件,那麼肯定離不開configparser標準庫,它使用起來很簡單而且非常方便。下面就讓我們來看看吧。簡單讀寫讀寫ini文件非常簡單,來看看下面的例子就明白了。首先要創建ConfigParser的實例,使用它則非常簡單,基本上就和處理字典完全一樣。
  • C# FileStream類:文件讀寫
    在 C# 語言中文件讀寫流使用 FileStream 類來表示,FileStream 類主要用於文件的讀寫,不僅能讀寫普通的文本文件,還可以讀取圖像文件
  • 【Python】常用配置文件匯總(INI、XML、JSON、YAML、PY)
    引言配置文件常為程序運行提供參數,為參數的統一管理提供便利。本文以Python語言為例,講解各種配置文件的用法。>if __name__ == '__main__':    test_ini()XMLXML(Extensible Markup Language)為可拓展標記語言,是一種用於標記電子文件使其具有結構性的標記語言
  • 代碼審計之php.ini配置詳解
    對於CGI和CLI版本,每次調用都會被讀取Apache Web伺服器在啟動時會把目錄轉到根目錄,這將使得PHP嘗試在根目錄下讀取php.ini,如果·存在的話。在php.ini中可以使用環境變量User.ini自php5.3.0起,PHP支持基於每個目錄的.htaccess風格的INI文件。
  • PHP配置函數ini_get()的具體用法介紹
    PHP配置函數ini_get()的具體用法介紹 PHP配置函數ini_get()的主要功能就是獲取配置文件中的選項值。如果我們能合理運用,還可以發揮出它的許多功能供我們使用。
  • 千萬不要用JSON作配置文件
    --沒有辦法在配置文件中保存一個基本的變更日誌,記錄做了哪些更改(記錄這些更改可能是非常有用的)。--更難調試,因為快速注釋掉一部分代碼是不可能的。一種解決方法是使用新的鍵值對,例如:如果你的字符串中包含很多雙引號,那麼轉義所有的實例或者引號會非常麻煩。4、缺乏可編程性不總是這樣,但有時候就是這樣,特別是當使用JSON配置某段代碼時。例如:
  • 程式設計師手冊 修改php.ini的幾種方法
    修改php.ini配置文件的幾個函數先做一下介紹:  php中修改php配置文件(php.ini)的函數主要有四個函數:ini_get、ini_set、ini_get_all、ini_restore。其中ini_set和ini_get比較常用,下面分別做介紹。
  • 5 分鐘掌握 Python 中常見的配置文件
    這時我們就應該選擇通用的配置文件類型來作為存儲這些固定的部分。目前常用且流行的配置文件格式類型主要有 ini、json、toml、yaml、xml 等,這些類型的配置文件我們都可以通過標準庫或第三方庫來進行解析。iniini 即 Initialize 初始化之意,早期是在 Windows 上配置文件的存儲格式。
  • C 文件讀寫
    w打開一個文本文件,允許寫入文件。如果文件不存在,則會創建一個新文件。在這裡,您的程序會從文件的開頭寫入內容。如果文件存在,則該會被截斷為零長度,重新寫入。a打開一個文本文件,以追加模式寫入文件。如果文件不存在,則會創建一個新文件。在這裡,您的程序會在已有的文件內容中追加內容。r+打開一個文本文件,允許讀寫文件。w+打開一個文本文件,允許讀寫文件。
  • 【編程概念】---文件讀寫實例
    實例1:讀寫字符文件,每次讀取一個字符。
  • 兩則Linux C編程實例
    在不需要重新編譯程序的情況下,有如下兩種方法可以滿足這個需求:把IP寫在配置文件裡,比如ini格式的配置文件裡,然後server程序讀取配置文件裡的IP,再進行綁定。下面分別使用這兩種方法:從配置文件中讀取IP位址 配置文件的格式有很多,如JSON、INI等。這裡我選用的是INI格式的配置文件,.ini 文件是 Initialization File 的縮寫,即初始化文件。
  • python讀寫文件
    今天我們就以這幾個需求為背景來看看python是如何讀寫文件的。基本概念介紹我們知道python中一切都是對象,「文件」也不例外。下面的實驗可以看出文件是名叫『_io.TextIOWrapper』的class。
  • 仙劍5前傳設置文件 option.ini參數功能翻譯
    仙劍五前傳默認的安裝文件夾是Pal5Q,小編的是自己創建的文件夾xianjian5。   打開仙劍五前傳的程序文件夾後,看到一個文件夾Config。   Config裡的option.ini文件可以對畫質設置,各種功能設置進行修改(包括自定義解析度)。   雙擊打開,如果提示要選擇軟體打開的話可以用記事本打開。 下面是巴士小編為你翻譯的文件內容,對應著修改就行了。
  • C#和.NET向JAVA好轉嗎?
    不過也有一些差別,不過不多,稍微習慣下就好了,比如:集合:兩種語言都有集合ArrayList,還有通過鍵訪問值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合List<T>與Dictionary<K,V>更容易了,無需拆箱裝箱了,更安全了。
  • [CGAL]PLY文件的讀寫
    關於點雲    點雲是描述三維物體的方式之一,簡單來說是三維物體表面上點的集合。點包含了豐富的信息,包括坐標X,Y,Z、顏色、分類值、強度值、時間等。點雲一般通過三維成像傳感器獲得,如雙目相機、三維掃描儀、RGB-D相機。點雲目前的主要存儲格式包括pts、LAS、PCD、PLY、XYZ。
  • Java文件的簡單讀寫、隨機讀寫、NIO讀寫與使用MappedByteBuffer讀寫
    本篇內容包括:簡單文件讀寫隨機訪問文件讀寫NIO文件讀寫-FileChannel使用MappedByteBuffer讀寫文件簡單文件讀寫FileOutputStream由於流是單向的,簡單文件寫可使用FileOutputStream,而讀文件則使用FileInputStream。