常見的設定檔格式有 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)