C# 如何用 ini-parser 讀寫 .ini 檔?

2023.03.15 / Dev
常見的設定檔格式有 JSON、YAML 與 INI,INI 是 Initial (初始) 的縮寫,常出現於 Windows 作業系統的應用程式中。只不過從 Google 搜尋「C# ini 讀取」找到的方

常見的設定檔格式有 JSON、YAML 與 INI,INI 是 Initial (初始) 的縮寫,常出現於 Windows 作業系統的應用程式中。只不過從 Google 搜尋「C# ini 讀取」找到的方法幾乎都是用 [DllImport("kernel32")] 方式來讀寫,因為依賴 Windows 類別庫關係,對於跨作業系統並不友善。

因此本文將介紹由 rickyah 開發的 ini-parser,此套件不僅能幫你處理 INI 檔的讀寫操作,也因為不依賴 Windows 類別庫的關係,使 ini-parser 能夠運作於任何 .NET 支援的作業系統。

安裝套件

使用 Visual Studio 開啟專案,從頂部選單開啟 工具 / NuGet 套件管理員 / 套件管理器主控台

輸入下方指令後按下 Enter 執行安裝。

Install-Package ini-parser

語法說明

命名空間

using IniParser;
using IniParser.Model;

建立物件

var parser = new FileIniDataParser();

讀取 INI

先檢查 INI 檔案是否存在,再進行讀取,否則會出錯。

var path = "config.ini";
if (File.Exists(path))
{
    var data = parser.ReadFile(path);
    Console.WriteLine(data["size"]["width"]);
}

寫入 INI

SaveFile 已被取代,目前版本使用 WriteFile 方法來寫入檔案。

var path = "config.ini";
var data = new IniData();
data["size"]["width"] = "50";
parser.WriteFile(path, data);

INI 內容

使用文字編輯器開啟。

範例專案

tedliou/console-iniparser-example (github.com)

參考資料

相關文章

Ted Liou

雲科碩士在讀中,專注於 Unity C#、TouchDesigner 技術,常把技術筆記分享到部落格,偶爾還直接挪用文章來當教材的研究生。