我有一个C#asp.net页面,必须从文本文件中获取用户名/密码信息。
有人可以告诉我怎么做。
文本文件如下所示:(它实际上要大得多,我只有几行)
DATASOURCEFILE=D:\folder\folder
var1= etc
var2= more
var3 = misc
var4 = stuff
USERID = user1
PASSWORD = pwd1
我需要的只是该文件中的UserID和密码。
感谢您的帮助,
史蒂夫
答案 0 :(得分:10)
这样可行:
var dic = File.ReadAllLines("test.txt")
.Select(l => l.Split(new[] { '=' }))
.ToDictionary( s => s[0].Trim(), s => s[1].Trim());
dic
是一本字典,因此您可以轻松提取您的值,即:
string myUser = dic["USERID"];
string myPassword = dic["PASSWORD"];
答案 1 :(得分:2)
打开文件,在换行符上拆分,然后在每个项目的=上再次拆分,然后将其添加到字典中。
string contents = String.Empty;
using (FileStream fs = File.Open("path", FileMode.OpenRead))
using (StreamReader reader = new StreamReader(fs))
{
contents = reader.ReadToEnd();
}
if (contents.Length > 0)
{
string[] lines = contents.Split(new char[] { '\n' });
Dictionary<string, string> mysettings = new Dictionary<string, string>();
foreach (string line in lines)
{
string[] keyAndValue = line.Split(new char[] { '=' });
mysettings.Add(keyAndValue[0].Trim(), keyAndValue[1].Trim());
}
string test = mysettings["USERID"]; // example of getting userid
}
答案 2 :(得分:0)
您可以使用正则表达式来提取每个变量。您可以一次读取一行,也可以将整个文件读取为一个字符串。如果是后者,您只需在表达式中查找换行符。
此致 的Morten
答案 3 :(得分:0)
不需要字典。 老式解析可以做得更多,可执行代码更少,编译数据量相同,处理更少:
via_mobile