问题描述
我有一个后缀为.ini文件,现在想将该文件中如下内容中的172.30.15:9080改为172.30.0.14:8080请大家提供点思路或者详细代码,万分感谢~~~~wsdl=http://172.30.0.15:9080/g3_bs/services/webserver?wsdlurl=http://172.30.0.15:9080/g3_bs/services/webserverport=CXFServiceImplPortservice=CXFServiceImplServicedownloadurl=http://172.30.0.15:9080/g3_bs/download2
解决方案
解决方案二:
整个读出来,放string里执行string.replace(":9080",":8080");写回去
解决方案三:
引用楼主a13861353115的回复:
我有一个后缀为.ini文件,现在想将该文件中如下内容中的172.30.15:9080改为172.30.0.14:8080请大家提供点思路或者详细代码,万分感谢~~~~wsdl=http://172.30.0.15:9080/g3_bs/services/webserver?wsdlurl=http://172.30.0.15:9080/g3_bs/services/webserverport=CXFServiceImplPortservice=CXFServiceImplServicedownloadurl=http://172.30.0.15:9080/g3_bs/download2
[DllImport("kernel32")]privatestaticexternintGetPrivateProfileInt(stringlpApplicationName,stringlpKeyName,intnDefault,stringlpFileName);[DllImport("kernel32")]privatestaticexternboolGetPrivateProfileString(stringlpApplicationName,stringlpKeyName,stringlpDefault,StringBuilderlpReturnedString,intnSize,stringlpFileName);[DllImport("kernel32")]privatestaticexternboolWritePrivateProfileString(stringlpApplicationName,stringlpKeyName,stringlpString,stringlpFileName);[DllImport("kernel32")]privatestaticexternboolGetPrivateProfileSection(stringlpAppName,stringlpReturnedString,intnSize,stringlpFileName);[DllImport("kernel32")]privatestaticexternboolWritePrivateProfileSection(stringlpAppName,stringlpString,stringlpFileName);需要用到上述api,搜相关的文档就可以了
解决方案四:
为嘛不用config的xml格式的做配置文件?ini看起来各种难受。
解决方案五:
usingSystem.Runtime.InteropServices;[DllImport("kernel32.dll")]//调用API函数privatestaticexternintGetPrivateProfileString(stringsection,stringkey,stringdef,StringBuilderretVal,intsize,stringfilePath);[DllImport("kernel32.dll")]//调用API函数privatestaticexternlongWritePrivateProfileString(stringsection,stringkey,stringval,stringfilePath);StringBuilderStr=newStringBuilder(100);GetPrivateProfileString("题头","wsdl","",Str,100,"FILENAME.ini");//双捆膜//题头为[]中间的内容//FILENAME.INI为ini的文件名和路径strings=Str.tostring();s=s..Replace("9090","8080");WritePrivateProfileString(题头","wsdl",s,"FILENAME.ini");
解决方案六:
ini文件[配置信息]IP=172.30.0.14:8090WritePrivateProfileString("配置信息","IP","172.30.0.14:8080","你的ini文件路径");
解决方案七:
你可通过WritePrivateProfileString直接来写wsdl为http://172.30.0.14:8080/g3_bs/services/webserver?wsdl也可以文本文件方式读取每一行,将其中含有172.30.0.15:9080替换为172.30.0.14:8080
解决方案八:
stringf="";string[]txt=File.ReadAllLines("1.ini");foreach(stringsintxt){if(s.Contains("172.30.0.15:9080")){f+=s.Replace("172.30.0.15:9080","172.30.0.14:8080")+"rn";}else{f+=s+"rn";}}File.WriteAllText("1.ini",f);
解决方案九:
C#操作INI文件的修改与查找//读取文件内容privatestaticexternintGetPrivateProfileString(stringlpAppName,stringlpKeyName,stringlpDefault,StringBuilderlpReturnedString,intnSize,stringlpFileName);//读取数据内容publicstringContentReader(stringarea,stringkey,stringdef){StringBuilderstringBuilder=newStringBuilder(1024);//定义一个最大长度为1024的可变字符串GetPrivateProfileString(area,key,def,stringBuilder,1024,str);//读取INI文件returnstringBuilder.ToString();//返回INI文件的内容}//窗体加载部分privatevoidForm1_Load(objectsender,EventArgse){str=Application.StartupPath+"\ConnectString.ini";//INI文件的物理地址strOne=System.IO.Path.GetFileNameWithoutExtension(str);//获取INI文件的文件名if(File.Exists(str))//判断是否存在该INI文件{server.Text=ContentReader(strOne,"DataSource","");//读取INI文件中服务器节点的内容database.Text=ContentReader(strOne,"DataBase","");//读取INI文件中数据库节点的内容uid.Text=ContentReader(strOne,"Uid","");//读取INI文件中用户节点的内容pwd.Text=ContentReader(strOne,"Pwd","");//读取INI文件中密码节点的内容}//CodeGo.net/}//进行修改操作privatevoidbutton1_Click(objectsender,EventArgse){if(File.Exists(str))//判断是否存在INI文件{WritePrivateProfileString(strOne,"DataSource",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);}}