关于读写 配置文件 .INI 的方法

下面是参考网上的代码,撰写的一个读写.ini文件的方法,因为有很多时候会用.ini文件存储配置

1.ini 文件的配置类型包括节点,各个参数名,可以有多个节点,每个节点下可以存储多个参数;具体类型如下

<!--节点名-->
[Test]
<!--测试读取ini的数据-->
<!--用户名-->
User=admin
<!--密码-->
Password=123456

2.以下读写的静态方法;

 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  
View Code

 

------以供参考和自己记忆-----

posted @ 2017-06-08 15:06  黑二胖  阅读(311)  评论(0编辑  收藏  举报