读写ini文件需要引入系统接口
//
首先,引入命名空间
using
System.Runtime.InteropServices;
在修改系统接口:
string
path
=
@"
d:config.ini
"
;
//
带路径的文件名
[DllImport(
"
kernel32
"
)]
private
static
extern
long
WritePrivateProfileString(
string
section,
string
key,
string
val,
string
filePath);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
[DllImport(
"
kernel32
"
)]
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
private
static
extern
int
GetPrivateProfileString(
string
section,
string
key,
string
def, StringBuilder retVal,
int
size,
string
filePath);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/// <summary>
/// 创建ini文件
/// </summary>
/// <param name="Section">ini文件的标题</param>
/// <param name="Key">键</param>
/// <param name="Value">键值</param>
private
void
IniWriteValue(
string
Section,
string
Key,
string
Value)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
WritePrivateProfileString(Section, Key, Value, this.path);
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/// <summary>
/// 读ini文件
/// </summary>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <returns></returns>
public
string
IniReadValue(
string
Section,
string
Key)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
StringBuilder temp = new StringBuilder(255);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
return temp.ToString();
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
示例:
private
void
btnCreateIni_Click(
object
sender, EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
string[] configIniKeys = new string[6]...{
"企业代码",
"服务代码",
"登陆账号",
"登陆密码",
"IP",
"端口"};
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
string[] configIniValues = new string[6]...{
"1001",
"13826128578",
"chenrong",
"1234",
"10.244.14.138",
"8080"};
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (!File.Exists(path))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
using (FileStream fs = File.Create(path))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
fs.Close();
}
}
try
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
for (int i = 0; i < configIniKeys.Length; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
IniWriteValue("短信网关配置信息", configIniKeys[i], configIniValues[i]);
}
MessageBox.Show("ini文件生成成功!", "成功");
}
catch (Exception ex)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
MessageBox.Show(ex.ToString());
}
}
生成的ini文件如下:
[短信网关配置信息]
企业代码=1001
服务代码=13826128578
登陆账号=chenrong
登陆密码=1234
IP=10.244.14.138
端口=8080