C#_读写ini配置文件
.NET Framework 类库未提供读写ini文件的相应类,不过可以使用WinAPI来处理INI文件的读写,代码很简单。如下:
首先有两个API函数需放在你的class中且只能如此,放在method或(class外namespace内),都会出现编译错误:
1
using
System.Runtime.InteropServices;
2
[DllImport(
"kernel32"
)]
3
private
static
extern
long
WritePrivateProfileString(
string
section,
string
key,
string
val,
string
filePath);
4
[DllImport(
"kernel32"
)]
5
private
static
extern
long
GetPrivateProfileString(
string
section,
string
key,
string
def,StringBuilder retVal,
int
size,
string
filePath);
WritePrivateProfileString方法说明:
功能:将信息写入ini文件
返回值:long,如果为0则表示写入失败,反之成功。
参数1(section):写入ini文件的某个小节名称(不区分大小写)。
参数2(key):上面section下某个项的键名(不区分大小写)。
参数3(val):上面key对应的value
参数4(filePath):ini的文件名,包括其路径(example: "c:config.ini")。如果没有指定路径,仅有文件名,系统会自动在windows目录中查找是否有对应的ini文件,如果没有则会自动在当前应用程序运行的根目录下创建ini文件。
ini文件结构Example:
[JXCDB] --小节名(section)
server=192.168.1.1 --server是JXCDB下的某个键,192.168.1.1是server键的值(下同)
name=sa
pwd=198910
dbName=JXC
GetPrivateProfileString方法使用说明:
功能:从ini文件中读取相应信息
返回值:返回所取信息字符串的字节长度
- 参数1(section):某个小节名(不区分大小写),如果为空,则将在retVal内装载这个ini文件的所有小节列表。
- 参数2(key):欲获取信息的某个键名(不区分大小写),如果为空,则将在retVal内装载指定小节下的所有键列表。
- 参数3(def):当指定信息,未找到时,则返回def,可以为空。
- 参数4(retVal):一个字串缓冲区,所要获取的字符串将被保存在其中,其缓冲区大小至少为size。
- 参数5(size):retVal的缓冲区大小(最大字符数量)。
- 参数6(filePath):指定的ini文件路径,如果没有路径,则在windows目录下查找,如果还是没有则在应用程序目录下查找,再没有,就只能返回def了。
详细使用Example:
首先先创建一个ini文件,并保存信息:
1
WritePrivateProfileString(
"JXCDB"
,
"server"
,
"."
, Application.StartupPath +
"\JXC_Server.ini"
);
2
WritePrivateProfileString(
"JXCDB"
,
"name"
, txtName.Text.Trim(), Application.StartupPath +
"\JXC_Server.ini"
);
3
WritePrivateProfileString(
"JXCDB"
,
"pwd"
,txtPwd.Text.Trim(), Application.StartupPath +
"\JXC_Server.ini"
);
4
WritePrivateProfileString(
"
补充:软件开发 , C# ,
上一个:C#3.0特性总结
下一个:在Infopath的浏览器表单中获取当前用户
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,
部份技术文章来自网络,