整个读出来,放string里
执行string.replace(":9080",":8080");
写回去
执行string.replace(":9080",":8080");
写回去
解决方案 »
- c# winform DataGridView绑定DataTable后添加行问题
- 高手进来论论程序性能问题
- Windows控件的最小化代码怎么写
- 用数组怎么实现最短寻道时间优先算法(C#)
- 急!在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级
- 如何在Windows服务里面调用exe程序并显示出来
- html.dropdownlist选中的值如何在后台获取?急!!
- 是 否有和Execel一样的Chart和DataGrid结合的控件(OCX)???急!!!
- DevExpress 报表中XRPictureBox ,如何将里面的图片拉伸
- WPF 获取鼠标相对canvas的坐标
- 求助..水晶报表第二次执行错误
- 求助!TCP协议多连接问题
private static extern int GetPrivateProfileInt(string lpApplicationName, string lpKeyName, int nDefault, string lpFileName);
[DllImport("kernel32")]
private static extern bool GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
[DllImport("kernel32")]
private static extern bool GetPrivateProfileSection(string lpAppName, string lpReturnedString, int nSize, string lpFileName);
[DllImport("kernel32")]
private static extern bool WritePrivateProfileSection(string lpAppName, string lpString, string lpFileName);
需要用到上述api,搜相关的文档就可以了
ini看起来各种难受。
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
[DllImport("kernel32.dll")] //调用API函数
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
StringBuilder Str= new StringBuilder(100);
GetPrivateProfileString("题头", "wsdl", "", Str, 100, "FILENAME.ini"); //双捆膜
//题头 为 []中间的内容
//FILENAME.INI 为 ini的文件名和路径
string s = Str.tostring();
s=s..Replace("9090","8080");
WritePrivateProfileString(题头", "wsdl", s, "FILENAME.ini");
[配置信息]
IP=172.30.0.14:8090
WritePrivateProfileString("配置信息", "IP", "172.30.0.14:8080", "你的ini文件路径");
也可以文本文件方式读取每一行,将其中含有 172.30.0.15:9080替换为172.30.0.14:8080
string[] txt = File.ReadAllLines("1.ini");
foreach (string s in txt)
{
if (s.Contains("172.30.0.15:9080"))
{
f+= s.Replace("172.30.0.15:9080", "172.30.0.14:8080") + "\r\n";
}
else
{
f += s + "\r\n";
}
}
File.WriteAllText("1.ini",f);
//读取文件内容
private static extern int GetPrivateProfileString(
string lpAppName,
string lpKeyName,
string lpDefault,
StringBuilder lpReturnedString,
int nSize,
string lpFileName);
//读取数据内容
public string ContentReader(string area, string key, string def)
{
StringBuilder stringBuilder = new StringBuilder(1024); //定义一个最大长度为1024的可变字符串
GetPrivateProfileString(area, key, def, stringBuilder, 1024, str); //读取INI文件
return stringBuilder.ToString(); //返回INI文件的内容
}
//窗体加载部分
private void Form1_Load(object sender, EventArgs e)
{
str = Application.StartupPath + "\\ConnectString.ini"; //INI文件的物理地址
strOne = System.IO.Path.GetFileNameWithoutExtension(str); //获取INI文件的文件名
if (File.Exists(str)) //判断是否存在该INI文件
{
server.Text = ContentReader(strOne, "Data Source", ""); //读取INI文件中服务器节点的内容
database.Text = ContentReader(strOne, "DataBase", ""); //读取INI文件中数据库节点的内容
uid.Text = ContentReader(strOne, "Uid", ""); //读取INI文件中用户节点的内容
pwd.Text = ContentReader(strOne, "Pwd", ""); //读取INI文件中密码节点的内容
}//CodeGo.net/
}
//进行修改操作
private void button1_Click(object sender, EventArgs e)
{
if (File.Exists(str)) //判断是否存在INI文件
{
WritePrivateProfileString(strOne, "Data Source", server.Text, str); //修改INI文件中服务器节点的内容
WritePrivateProfileString(strOne, "DataBase", database.Text, str); //修改INI文件中数据库节点的内容
WritePrivateProfileString(strOne, "Uid", uid.Text, str); //修改INI文件中用户节点的内容
WritePrivateProfileString(strOne, "Pwd", pwd.Text, str); //修改INI文件中密码节点的内容
MessageBox.Show("恭喜你,修改成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("对不起,你所要修改的文件不存在,请确认后再进行修改操作!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}