博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在C#中如何读写INI文件

Posted on 2005-06-15 13:55    阅读(607)  评论(0)    收藏  举报
C#中如何读写INI文件
//INI文件
[ DllImport ( "kernel32" ) ]
private static extern bool WritePrivateProfileString ( string section ,string key , string val , string filePath ) ;
//
ini文件(字符
[ DllImport ( "kernel32" ) ]
private static extern int GetPrivateProfileString ( string section ,string key , string def , StringBuilder retVal ,int size , string filePath ) ;
//ini文件(数字
[ DllImport ( "kernel32" ) ]
private static extern int GetPrivateProfileInt ( string section ,string key , int def , string filePath ) ;
//////////////////////////////////////////////////////////////

实例:

using System; 
using System.IO; 
using System.Runtime.InteropServices; 
using System.Text;
namespace EchonComponentLibrary
{
/// <summary>
/// IniFile 的摘要说明。
/// </summary>

public class IniFile

private string FFileName; 
[DllImport(
"kernel32")] 
private static extern int GetPrivateProfileInt( 
string lpAppName, 
string lpKeyName, 
int nDefault, 
string lpFileName 
); 
[DllImport(
"kernel32")] 
private static extern int GetPrivateProfileString( 
string lpAppName, 
string lpKeyName, 
string lpDefault, 
StringBuilder lpReturnedString, 
int nSize, 
string lpFileName 
); 
[DllImport(
"kernel32")] 
private static extern bool WritePrivateProfileString( 
string lpAppName, 
string lpKeyName, 
string lpString, 
string lpFileName 
); 
public IniFile(string filename) 

FFileName 
= filename; 
}
 
public int ReadInt(string section,string key,int def) 

return GetPrivateProfileInt(section,key,def,FFileName); 
}
 
public string ReadString(string section,string key,string def) 

StringBuilder temp 
= new StringBuilder(1024); 
GetPrivateProfileString(section,key,def,temp,
1024,FFileName); 
return temp.ToString(); 
}
 
public void WriteInt(string section,string key,int iVal) 

WritePrivateProfileString(section,key,iVal.ToString(),FFileName); 
}
 
public void WriteString(string section,string key,string strVal) 

WritePrivateProfileString(section,key,strVal,FFileName); 
}
 
public void DelKey(string section,string key) 

WritePrivateProfileString(section,key,
null,FFileName); 
}
 
public void DelSection(string section) 

WritePrivateProfileString(section,
null,null,FFileName); 
}
 
}
 
}