关键字:ini文件格式
如何读写:
https://www.cnblogs.com/ashbur/p/12020507.html
ini配置文件格式
https://blog.csdn.net/a123441/article/details/90668032
首先文件扩展名
配置文件.ini
格式
ini配置文件由节、键、值组成
【参数】(键=值):
INI所包含的最基本的“元素”就是参数(parameter),每个参数都有一个name和一个value,name和value由等号“=”隔开,name在等号的左边。如:
name=value
节
所有的参数都是以节(section)为单位结合在一起的。
所有的section名称都是独占一行,并且section名字都被方括号包围着([和])。在section声明后的所有parameters都属于该section。
一个section没有明显的结束标识符,
一个section的开始就是上一个section的结束,或者是文件结束
[section]
最好用的ini配置文件辅助类
public class IniFileHelper
{
#region API函数声明
[DllImport("kernel32")]//返回0表示失败,非0为成功
private static extern long WritePrivateProfileString(string section,string key,
string val,string filePath);
[DllImport("kernel32")]//返回取得字符串缓冲区的长度
private static extern long GetPrivateProfileString(string section,string key,
string def,StringBuilder retVal,int size,string filePath);
#endregion
#region 读Ini文件
public static string ReadIniData(string Section,string Key,string NoText,string iniFilePath)
{
if(File.Exists(iniFilePath))
{
StringBuilder temp = new StringBuilder(1024);
GetPrivateProfileString(Section,Key,NoText,temp,1024,iniFilePath);
return temp.ToString();
}
else
{
return String.Empty;
}
}
#endregion
#region 写Ini文件
public static bool WriteIniData(string Section,string Key,string Value,string iniFilePath)
{
if(!File.Exists(iniFilePath))
{
using(FileStream fs=new FileStream(iniFilePath,FileMode.Create,FileAccess.Write))
{
fs.Close();
}
}
if(File.Exists(iniFilePath))
{
long OpStation = WritePrivateProfileString(Section,Key,Value,iniFilePath);
if(OpStation == 0)
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
#endregion
}
读取节点信息:
IniFileHelper.ReadIniData("config", "lastPath", "", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lahuseo.ini"));
程序自动到当前执行程序的根目录找文件名为”lanhuseo.ini“的文件,节点组为config,节点key为lastpath的值
更新节点信息:
IniFileHelper.WriteIniData("config", "lastPath"
, txtLogDirOrFile.Text.Trim()
, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lahuseo.ini"));
这样存的文件内容为:
[config]
lastPath=C:\Users\Administrator\Desktop\新建文件夹\W3SVC12
这里用到用到了DllImport直接用了windows系统内核的kernel32.dll的现成的两个方法,WritePrivateProfileString和GetPrivateProfileString。
如果在写文件没有指定的文件会自动创建一个相应的ini文件,在读的时候没有文件直接返回空,当然这里你可以根据你的需要修改