程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 使用文件流來讀寫ini文件

C# 使用文件流來讀寫ini文件

編輯:C#入門知識

背景   之前采用ini文件作為程序的配置文件,覺得這種結構簡單明了,配置起來也挺方便。然後操作方式是通過WindowsAPI,然後再網上找到一個基於WindowsAPI封裝的help類,用起來倒也順手。用的多了,覺得還可以使用文件流來操作,後來就發現了EasyConfig。     EasyConfig是一個純C#的開源ini文件操作庫,但是在使用上有諸多不便,只是個人感覺,於是個人將其改造了一下,是自己喜歡用的風格。   資源下載   如果不清楚ini文件結構,請百度一下,這裡貼一個示例文件。    Ini文件示例   EasyConfig 原版     EasyConfig 改寫後   代碼示例   首先來看看改寫後,怎麼去使用她來讀寫Ini文件。             static void Main(string[] args)         {             ConfigFile configFile = new ConfigFile("Test.ini");               //遍歷Config文件             foreach (var group in configFile.SettingGroups)             {                 Console.WriteLine("****************************");                 Console.WriteLine(group.Key + ":");                 Console.WriteLine();                   foreach (var value in group.Value.Settings)                     Console.WriteLine("{0} = {1} (Is Array? {2}),{3}", value.Key, value.Value.RawValue, value.Value.IsArray, value.Value.Desp);                   Console.WriteLine();             }             //讀取值主要是在具體的配置項上進行讀取,是首先定位到[Group],其次就是具體的項             //使用泛型讀取值,並指定讀取失敗時的默認值             var fullScreen = configFile["Video"]["Fullscreen"].As<int>(-1);//失敗             var bFullScreen = configFile["Video"]["Fullscreen"].AsBool();//成功             var arrCanShoot = configFile["Level1"]["CanShoot"].AsArray<bool>();             //讀取時 該項不存在,不存在的組或者項會自動添加             var noexists = configFile["Video"]["xxxxxxxxxxx"].AsString();             var noexists2 = configFile["Video111111111"]["xxxxxxxxxxx"].AsString();               //寫入值有2種方法,可以直接向某組下寫入一項,也可以定位到某組某項,寫入值             //寫入值 該項不存在,組或者項會自動創建             configFile["Video"].WriteSetting("NewName", "EasyConfig");             configFile["Video"].WriteSetting("NewName", "EasyConfig2.0");             configFile["Video22222222"].WriteSetting("c1", "1");             //索引器不過是返回Setting             configFile["Video3333"]["UserName"].SetValue("admin");             configFile["Viedo4444"]["Sex"].SetValue("男", "女", "保密");             //寫入值,該項不存在             configFile["Video222"].WriteSetting("NewName", "EasyConfig3.0");                 Console.ReadKey(true);               configFile.Save("TestConfig2.txt");         }     基本上自己想要的效果,則是基於 ConfigFile["GroupName"]["Key"] 這樣的方式來進行讀寫。         另外附上一個基於WindowsAPI操作的封裝類。    IniFileHelp

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved