如何从文件中读取并保存到4个不同的变量(C#)?
我正试图创建一个包含SQL数据库信息的设置文件,但我目前遇到的问题是,我似乎无法读取每一行并将其保存到不同的变量中如何从文件中读取并保存到4个不同的变量(C#)?,c#,sql,streamreader,system.io.file,C#,Sql,Streamreader,System.io.file,我正试图创建一个包含SQL数据库信息的设置文件,但我目前遇到的问题是,我似乎无法读取每一行并将其保存到不同的变量中 private void readFile() { { using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Users\Settings.txt", true)) while (sr.Peek() >= 0)
private void readFile()
{
{
using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Users\Settings.txt", true))
while (sr.Peek() >= 0)
{
CurrentLine = sr.ReadLine();
}
}
}
我不知道我将如何设置它,以便我可以写每一个不同的行到我的4个变量
任何帮助都将不胜感激 我将使用一个数组,您可以通过索引访问该数组:
string[] lines = File.ReadAllLines(@"C:\Users\Settings.txt");
string firstLine = lines[0];
// and so on, keep in mind that it could have less lines
使用四个变量的StreamReader
方法要麻烦得多:
using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Users\Settings.txt", true))
{
string line;
int currentLineNumber = 0;
while ((line = sr.ReadLine()) != null)
{
switch (++currentLineNumber)
{
case 1: first = line; break;
case 2: second = line; break;
case 3: third = line; break;
case 4: fourth = line; break;
}
}
}
当我需要在文件中存储设置时,我创建了一个类来保存信息,例如
public class Settings{
public string ConnectionString {get;set;}
public string DatabaseName {get;set;}
public DateTime Started {get;set;}
}
保存设置:
var settings = new Settings(){
ConnectionString = "blah blah blah",
DatabaseName = "blah blah blah",
Started = DateTime.Now,
};
var json = JsonConvert.SerializeObject(settings);
File.WriteAllText(@"C:/Settings.txt", json);
var json = File.ReadAllText(@"C:/Settings.txt");
var settings = JsonConvert.DeserializeObject(json);
加载设置:
var settings = new Settings(){
ConnectionString = "blah blah blah",
DatabaseName = "blah blah blah",
Started = DateTime.Now,
};
var json = JsonConvert.SerializeObject(settings);
File.WriteAllText(@"C:/Settings.txt", json);
var json = File.ReadAllText(@"C:/Settings.txt");
var settings = JsonConvert.DeserializeObject(json);
我发现这是可靠、灵活和稳定的。
这也意味着您不必担心(例如)DateTime和String之间的转换。您也不需要担心设置值的顺序
(这使用Json.NET包。)另一种方法是不要重新发明轮子和使用,它是为应用程序设置和连接字符串设计的。app.config文件是您的朋友!