C#中读写ini文件

来源:互联网 发布:象棋好玩的软件 编辑:程序博客网 时间:2024/05/16 18:32
using System;

using System.Runtime.InteropServices;

using System.Text;

 

namespace Ini

{

    
/// <summary>

    
/// Create a New INI file to store or load data

    
/// </summary>


    
public class IniFile

    
{

        
public string path;

 

        [DllImport(
"kernel32")]

        
private static extern long WritePrivateProfileString(string section,

            
string key,string val,string filePath);

        [DllImport(
"kernel32")]

        
private static extern int GetPrivateProfileString(string section,

                 
string key,string def, StringBuilder retVal,

            
int size,string filePath);

 

        
/// <summary>

        
/// INIFile Constructor.

        
/// </summary>

        
/// <PARAM name="INIPath"></PARAM>


        
public IniFile(string INIPath)

        
{

            path 
= INIPath;

        }


        
/// <summary>

        
/// Write Data to the INI File

        
/// </summary>

        
/// <PARAM name="Section"></PARAM>

        
/// Section name

        
/// <PARAM name="Key"></PARAM>

        
/// Key Name

        
/// <PARAM name="Value"></PARAM>

        
/// Value Name


        
public void IniWriteValue(string Section,string Key,string Value)

        
{

            WritePrivateProfileString(Section,Key,Value,
this.path);

        }


        

        
/// <summary>

        
/// Read Data Value From the Ini File

        
/// </summary>

        
/// <PARAM name="Section"></PARAM>

        
/// <PARAM name="Key"></PARAM>

        
/// <PARAM name="Path"></PARAM>

        
/// <returns></returns>


        
public string IniReadValue(string Section,string Key)

        
{

            StringBuilder temp 
= new StringBuilder(255);

            
int i = GetPrivateProfileString(Section,Key,"",temp, 

                                            
255this.path);

            
return temp.ToString();

 

        }


    }


}

 

这里创建了一个类,封装了KERNEL32.dll中提供的两个方法,用来操作ini文件。这两个方法是:WritePrivateProfileStringGetPrivateProfileString

   需要引用的命名空间为:System.Runtime.InteropServicesSystem.Text

使用这个类

按照下列步骤使用:

1.              在你的项目中加入命名空间的引用

using INI;

2.              创建一个如下的INIFile对象

INIFile ini = new INIFile("C://test.ini");

3.              使用IniWriteValue方法在指定的配置节给一个键付值,或者使用IniReadValue方法在指定的一个配置节中读取某个键的值。

 

如上所述,在C#中非常容易将API函数封装到你的类中。 

原创粉丝点击