C#中读写INI文件

2021-05-05 21:26

阅读:657

标签: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


评论


亲,登录后才可以留言!