C#中读写INI文件
标签:dllimport write oid baidu 方法 文件中 eval pre eric
C#中读写INI文件
c#的类没有直接提供对ini文件的操作支持,可以自己包装win api的WritePrivateProfileString和GetPrivateProfileString函数实现。下面提供一个包装类,可以直接使用。
1 using System;
2 using System.Collections.Generic;
3 using System.IO;
4 using System.Linq;
5 using System.Runtime.InteropServices;
6 using System.Text;
7 using System.Threading.Tasks;
8
9 namespace ESIMRobotSystem
10 {
11 class Robot_WriteAndReadInitCls
12 {
13 public string inipath;
14 ///
15 /// 申明INI文件的写操作函数
16 ///
17 /// INI文件中的段落
18 /// INI文件中的关键字
19 /// INI文件中关键字的数值
20 /// INI文件的完整的路径和名称
21 ///
22 [DllImport("kernel32")]
23 private static extern long WritePrivateProfileString(
24 string section,
25 string key,
26 string val,
27 string filePath
28 );
29
30 ///
31 /// 申明INI文件的读操作函数
32 ///
33 /// INI文件中的段落名称
34 /// INI文件中的关键字
35 /// 无法读取时候时候的缺省数值
36 /// 读取数值
37 /// 数值的大小
38 /// INI文件的完整路径和名称
39 ///
40 [DllImport("kernel32")]
41 private static extern int GetPrivateProfileString(
42 string section,
43 string key,
44 string def,
45 StringBuilder retVal,
46 int size,
47 string filePath
48 );
49
50
51 ///
52 /// 构造方法
53 ///
54 /// 文件路径
55 public Robot_WriteAndReadInitCls(string INIPath)
56 {
57 inipath = INIPath;
58 }
59
60
61 ///
62 /// 写入INI文件
63 ///
64 /// 项目名称(如 [TypeName] )
65 /// 键
66 /// 值
67 public void IniWriteValue(string Section, string Key, string Value)
68 {
69 WritePrivateProfileString(Section, Key, Value, this.inipath);
70 }
71
72
73 ///
74 /// 读出INI文件
75 ///
76 /// 项目名称(如 [TypeName] )
77 /// 键
78 public string IniReadValue(string Section, string Key)
79 {
80 StringBuilder temp = new StringBuilder(500);
81 int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
82 return temp.ToString();
83 }
84
85
86 ///
87 /// 验证文件是否存在
88 ///
89 /// 布尔值
90 public bool ExistINIFile()
91 {
92 return File.Exists(inipath);
93 }
94 }
95 }
C#中读写INI文件
标签:dllimport write oid baidu 方法 文件中 eval pre eric
原文地址:http://www.cnblogs.com/hbtmwangjin/p/7676829.html
评论