关于读写 配置文件 .INI 的方法
下面是参考网上的代码,撰写的一个读写.ini文件的方法,因为有很多时候会用.ini文件存储配置
1.ini 文件的配置类型包括节点,各个参数名,可以有多个节点,每个节点下可以存储多个参数;具体类型如下
<!--节点名--> [Test] <!--测试读取ini的数据--> <!--用户名--> User=admin <!--密码--> Password=123456
2.以下读写的静态方法;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 //调用这个命令空间以用于提供DLLIMPORT; 7 using System.Runtime.InteropServices; 8 9 namespace cstest 10 { 11 public class dll_Import 12 { 13 /// <summary> 14 /// 获取INI文件的位置 15 /// </summary> 16 private static string _path = System.Windows.Forms.Application.StartupPath/*这一部可以获取到bin下的Debug目录*/ + "\\Config.ini"; 17 18 /// <summary> 19 /// 获取配置内容 20 /// </summary> 21 /// <param name="section">配置节点</param> 22 /// <param name="key">配置参数名</param> 23 /// <returns>返回配置参数</returns> 24 public static String Get_ini(string section, string key) { 25 StringBuilder str = new StringBuilder(500); 26 27 int i = GetPrivateProfileString(section, key, "", str, 500, _path); 28 29 return str.ToString(); 30 } 31 32 /// <summary> 33 /// 上面的获取配置主要是调用这个。 34 /// </summary> 35 /// <param name="Section">配置节点</param> 36 /// <param name="key">配置参数名</param> 37 /// <param name="Defvalue">当没有这个时,将这个值赋给返回值</param> 38 /// <param name="Returnstr">返回值</param> 39 /// <param name="size">接受缓冲区的大小</param> 40 /// <param name="filepath">配置文件的绝对路径</param> 41 /// <returns>int 返回缓冲结果的大小</returns> 42 [DllImport("kernel32")]//调用Windows的内置方法,且下面必须用 extern 43 private static extern int GetPrivateProfileString(string Section, string key, string Defvalue, StringBuilder Returnstr, int size, string filepath); 44 45 46 47 /// <summary> 48 /// 写入配置文件 49 /// </summary> 50 /// <param name="section">配置节点</param> 51 /// <param name="key">配置参数</param> 52 /// <param name="val">想要写入的值</param> 53 public static void Write_ini(string section, string key, string val) { 54 55 bool result = WritePrivateProfileString(section, key, val, _path); 56 } 57 58 /// <summary> 59 /// 主要写入配置文件的内容 60 /// </summary> 61 /// <param name="Section">配置节点</param> 62 /// <param name="key">配置参数</param> 63 /// <param name="writeValue">值</param> 64 /// <param name="filepath">文件绝对路径</param> 65 /// <returns>返回写入结果</returns> 66 [DllImport("kernel32")] 67 private static extern bool WritePrivateProfileString(string Section, string key, string writeValue, string filepath); 68 } 69 } 70
------以供参考和自己记忆-----