当我们写代码时为了方便性,即有一些数据时经常变化的,那么我们这个时候除了在代码中写个变量赋值,还可以再配置文件中配置自己需要的数值,已达到随改随用的操作,不用改个数值就去改代码。
当然配置文件的规则是需要自己制定的,下图是制定的规则:
等号左边的是自己设置的变量值,等号右边的数据是数值
根据变量值可以获取相应的数值,相当于键/值对的形式
读取配置文件:
public static string GetIniMessage(string strName, string FilePath)
{
try
{
string FileMessage = string.Empty;
if (File.Exists(FilePath))
{
//读取INI文件
StreamReader sr = new StreamReader(FilePath);
string line;
// ReadLine()一行一行的循环读取
//当然可以直接ReadToEnd()读到最后
while ((line = sr.ReadLine()) != null)
{
if (line.Contains(strName))
{
FileMessage = line;
break;
}
}
sr.Close();
if (FileMessage.Contains(strName) && FileMessage.Contains("="))
{
FileMessage = Regex.Replace(FileMessage, @"\s", "");
FileMessage = FileMessage.Substring(FileMessage.IndexOf("=") + 1);
return FileMessage;
}
else
{
MessageBox.Show("FB配置文件信息有误!!!");return null;
}
}
else
{
MessageBox.Show("FB配置文件不存在!!!");return null;
}
}
catch (Exception ex)
{
MessageBox.Show("获取配置信息失败!!!");return null;
}
}
设置配置文件:
#region 设置配置文件
/// <summary>
/// 设置配置文件
/// </summary>
/// <param name="IniMessage">设置配置信息:键/值对形式</param>
/// <param name="FilePath">配置文件路径</param>
public static void SetIniMessage(Dictionary<string, string> IniMessage, string FilePath)
{
try
{
if (File.Exists(FilePath))
{
string FileMessage = string.Empty;
string line;
//读取.ini文件
using (StreamReader sr = new StreamReader(FilePath))
{
line = string.Empty;
//ReadLine()一行一行的循环读取
while ((line = sr.ReadLine()) != null)
{
foreach (var item in IniMessage)
{
if (line.Contains(item.Key + "="))
{
line = item.Key + "=" + item.Value;
break;
}
}
FileMessage += line + "\r\n";
}
}
using (StreamWriter sw = new StreamWriter(FilePath))
{
sw.Write(FileMessage);
}
}
else
{
MessageBox.Show("FB配置文件不存在!!!");return;
}
}
catch (Exception ex)
{
MessageBox.Show("获取配置信息失败!!!");return;
}
}
#endregion
调用读取配置文件
txt_FbDirectory.Text = IniFile.GetIniMessage("txt_FbDirectory", @".\FB.ini");
com_MillType.Text = IniFile.GetIniMessage("com_MillType", @".\FB.ini");
string TabPage = IniFile.GetIniMessage("TabPage", @".\FB.ini");
调用设置配置文件
Dictionary<string, string> SetIniFile = new Dictionary<string, string>();//储存路径
SetIniFile.Add("txt_FbDirectory", txt_FbDirectory.Text);
SetIniFile.Add("com_MillType", com_MillType.Text);
SetIniFile.Add("TabPage", tabControl1.SelectedIndex.ToString());
IniFile.SetIniMessage(SetIniFile, @".\FB.ini");