C# WinForm 简单读写ini文件帮助类 INIHelp
软件里需要读取一些初始化信息,
决定用ini来做,简单方便。
于是查了一写代码,自己写了一个帮助类。
INI文件格式是某些平台或软件上的配置文件的非正式标准,
以节(section)和键(key)构成,常用于微软Windows操作系统中。
这种配置文件的文件扩展名多为INI,故名INI。
INI是英文“初始化”(initialization)的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
帮助类:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Runtime.InteropServices; 6 using System.IO; 7 8 namespace ConsoleApplication1 9 { 10 class INIhelp 11 { 12 [DllImport("kernel32")] 13 private static extern long WritePrivateProfileString(string section, string key, string val, string filepath); 14 [DllImport("kernel32")] 15 private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retval, int size, string filePath); 16 17 //ini文件名称 18 private static string inifilename = "Config.ini"; 19 //获取ini文件路径 20 private static string inifilepath = Directory.GetCurrentDirectory() + "\\" + inifilename; 21 22 public static string GetValue(string key) 23 { 24 StringBuilder s = new StringBuilder(1024); 25 GetPrivateProfileString("CONFIG",key,"",s,1024,inifilepath); 26 return s.ToString(); 27 } 28 29 30 public static void SetValue(string key,string value) 31 { 32 try 33 { 34 WritePrivateProfileString("CONFIG", key, value, inifilepath); 35 } 36 catch (Exception ex) 37 { 38 throw ex; 39 } 40 } 41 } 42 }
我将 section 写死在代码中因为我是用不到其他的 section 的,各位有需要自己改一下方法参数就可以了。
调用:
1 static void Main(string[] args) 2 { 3 INIhelp.SetValue("data", "abcdefg"); 4 INIhelp.SetValue("哈哈", "123456"); 5 INIhelp.SetValue("呵呵", "123456"); 6 INIhelp.SetValue("数据库", "123456"); 7 INIhelp.SetValue("123", "123456"); 8 Console.WriteLine("写入完成"); 9 Console.ReadLine(); 10 11 string s = INIhelp.GetValue("data"); 12 Console.WriteLine(s); 13 string a = INIhelp.GetValue("哈哈"); 14 Console.WriteLine(a); 15 string b = INIhelp.GetValue("123"); 16 Console.WriteLine(b); 17 Console.ReadLine(); 18 }
结果:
参考:http://www.cnblogs.com/wangsaiming/archive/2011/04/25/2028601.html