我必须从txt文件中读取一些参数,然后在我的Windows窗体应用程序中使用它们。
txt文件如下所示:
[Parameter1]
1
[Parameter2]
1000
[Parameter3]
5
[Parameter4]
0
我一直在互联网上寻找合适的解决方案,但没找到。关键是要实现这些要点:
1.可以有空行(例如txt文件中1和[Parameter2]之间有5个空行,应用程序无论如何都需要加载这些参数。
2.如果txt文件错过了这些参数中的任何一个,应用程序需要加载现有的参数,然后我将使用默认值对丢失的参数进行归属。
我的应用中的代码:
if (File.Exists("path.txt"))
{
FileStream fs = new FileStream("path.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs);
string linia;
while ((linia = sr.ReadLine()) != null)
{
string a = string.Empty;
string b = string.Empty;
string c = string.Empty;
string LogLevelstring = string.Empty;
if (string.Compare(linia, "[Parameter1]") == 0)
a = sr.ReadLine();
if (string.Compare(sr.ReadLine(), "[Parameter2]") == 0)
b = sr.ReadLine();
if (string.Compare(sr.ReadLine(), "[Parameter3]") == 0)
c = sr.ReadLine();
if (string.Compare(sr.ReadLine(), "[Parameter4]") == 0)
LogLevelstring= sr.ReadLine();
}
fs.Close();
sr.Close();
}
此功能逐行加载。当.txt文件正确时,它可以正常工作,但是当它有上面指出的任何内容时,它都无法正常工作。
非常感谢任何帮助和代码示例。谢谢!
答案 0 :(得分:0)
您还可以使用Regex类尝试使用Regular Expresions来过滤每一行。它可以缩短你的代码很多。如果您需要帮助来构建正则表达式,请尝试使用以下网站:https://regex101.com/。
希望这会有所帮助:D 碧玉。