读取文本文件并将信息插入新对象
本文关键字:新对象 对象 插入 信息 取文本 文件 读取 | 更新日期: 2023-09-27 18:32:07
所以我有一个文本文件,其中包含以下格式的信息,包括姓名、电子邮件和电话号码。
Bill Molan, Bill.Molan@gmail.com, 612-789-7538
Greg Hanson, Greg.Hanson@gmail.com, 651-368-4558
Zoe Hall, Zoe.Hall@gmail.com, 952-778-4322
Henry Sinn, Henry.Sinn@gmail.com, 651-788-9634
Brittany Hudson, Brittany.Hudson@gmail.com, 612-756-4486
当我的程序启动时,我想读取此文件并将每一行变成一个新的 Person(),我最终会将其添加到列表中。我想阅读每一行,然后使用逗号分隔每个字符串以放入 Person() 的构造函数中,这是一个基本类:
public PersonEntry(string n, string e, string p)
{
Name = n;
Email = e;
Phone = p;
}
我已经做了一些查找,我认为使用流阅读器可以读取文本文件,但我不确定从这里开始。
您可以使用
以下方法:
string line;
List listOfPersons=new List();
// Read the file and display it line by line.
System.IO.StreamReader file =
new System.IO.StreamReader(@"c:'yourFile.txt");
while((line = file.ReadLine()) != null)
{
string[] words = line.Split(',');
listOfPersons.Add(new Person(words[0],words[1],words[2]));
}
file.Close();
假设逗号永远不会出现在数据中:使用 StreamReader.ReadLine 读取每一行文本。 对于每行文本,请使用字符串。拆分以使用逗号作为拆分字符将行拆分为字符串数组。 现在,您有一个包含 3 个字符串的数组,其中 [0] 是名称,[1] 是电子邮件,[2] 是电话。
您可以按如下方式读取所有行//假设所有行始终有 3 个值
var allLines = File.ReadAllLines(path);
var listOfPersons = new List<Person>();
foreach(var line in allLines)
{
var splittedLines = line.Split(new[] {","})
if(splittedLines!=null && splittedLines.Any())
{
listOfPersons.Add( new Person {
Name = splittedLines[0],
Email = splittedLines .Length > 1 ?splittedLines[1]:null,
Phone = splittedLines .Length > 2? splittedLines[2]:null,
});
}
}
此代码是一个示例,必须检查各种条件,例如数组长度等,也请检查