(一). 功能
操作配置文件[*.ini]类
(二). 代码
1. 核心类文件 INIFILE.cs 代码
1 /// <summary>
2 /// INIFILE 操作类
3 /// </summary>
4 public class INIFILE
5 {
6 [DllImport("kernel32")]
7 private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);
8
9 [DllImport("kernel32")]
10 private static extern int GetPrivateProfileString(string section,string key,string def, StringBuilder retVal,int size,string filePath);
11
12 //要访问的文件路径
13 private string strFilePath;
14
15 public string FilePath
16 {
17 get { return strFilePath; }
18 set { strFilePath = value; }
19 }
20
21 public INIFILE()
22 {
23 }
24
25 public INIFILE( string strFilePath )
26 {
27 this.strFilePath = strFilePath;
28 }
29
30 public void WriteValue(string strSection,string strKey,string strValue)
31 {
32 if (FilePath.Length == 0)
33 {
34 throw new Exception("没有设置路径");
35 }
36 WritePrivateProfileString(strSection, strKey, strValue, this.FilePath);
37 }
38
39 public string ReadValue(string strSection,string strKey)
40 {
41 if (FilePath.Length == 0)
42 {
43 throw new Exception("没有设置路径");
44 }
45 StringBuilder sb = new StringBuilder();
46 int i = GetPrivateProfileString(strSection, strKey, "", sb, 255, this.FilePath);
47 return sb.ToString();
48 }
49 }
2 /// INIFILE 操作类
3 /// </summary>
4 public class INIFILE
5 {
6 [DllImport("kernel32")]
7 private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);
8
9 [DllImport("kernel32")]
10 private static extern int GetPrivateProfileString(string section,string key,string def, StringBuilder retVal,int size,string filePath);
11
12 //要访问的文件路径
13 private string strFilePath;
14
15 public string FilePath
16 {
17 get { return strFilePath; }
18 set { strFilePath = value; }
19 }
20
21 public INIFILE()
22 {
23 }
24
25 public INIFILE( string strFilePath )
26 {
27 this.strFilePath = strFilePath;
28 }
29
30 public void WriteValue(string strSection,string strKey,string strValue)
31 {
32 if (FilePath.Length == 0)
33 {
34 throw new Exception("没有设置路径");
35 }
36 WritePrivateProfileString(strSection, strKey, strValue, this.FilePath);
37 }
38
39 public string ReadValue(string strSection,string strKey)
40 {
41 if (FilePath.Length == 0)
42 {
43 throw new Exception("没有设置路径");
44 }
45 StringBuilder sb = new StringBuilder();
46 int i = GetPrivateProfileString(strSection, strKey, "", sb, 255, this.FilePath);
47 return sb.ToString();
48 }
49 }
2. 后台调用文件 INIFile.aspx.cs 代码
1 protected void Page_Load(object sender, EventArgs e)
2 {
3 //Read
4 INIFILE ini = new INIFILE();
5 ini.FilePath = Request.PhysicalApplicationPath + "ini.ini";
6 string strReturnValue = ini.ReadValue("Annabelle", "Time");
7 Response.Write(strReturnValue);
8
9 //Write
10 INIFILE ini = new INIFILE();
11 ini.FilePath = Request.PhysicalApplicationPath + "ini.ini";
12 string strReturnValue = ini.ReadValue("Annabelle", "Time");
13 Response.Write(strReturnValue);
14 ini.WriteValue("Annabelle", "Time", "0");
15 strReturnValue = ini.ReadValue("Annabelle", "Time");
16 Response.Write(strReturnValue);
17 }
2 {
3 //Read
4 INIFILE ini = new INIFILE();
5 ini.FilePath = Request.PhysicalApplicationPath + "ini.ini";
6 string strReturnValue = ini.ReadValue("Annabelle", "Time");
7 Response.Write(strReturnValue);
8
9 //Write
10 INIFILE ini = new INIFILE();
11 ini.FilePath = Request.PhysicalApplicationPath + "ini.ini";
12 string strReturnValue = ini.ReadValue("Annabelle", "Time");
13 Response.Write(strReturnValue);
14 ini.WriteValue("Annabelle", "Time", "0");
15 strReturnValue = ini.ReadValue("Annabelle", "Time");
16 Response.Write(strReturnValue);
17 }
(三). 示例代码下载
readsettingfile.rar
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |