使用流阅读器读取文本文件并以特定格式显示每一行?

时间:2019-04-17 13:24:13

标签: c# winforms

我正在为简单的c#编写代码,其中我必须从文本文件中读取文本并将其以以下格式显示在文本框中:姓氏,名字:EID“部门”“名称”。文本文件的数据格式为-EID,名字,姓氏,部门,名称。使用streamreader类的readline成员,并将其拆分为一个数组。

if(obj.ShowDialog() == DialogResult.OK)
{
filename = obj.FileName;
textBox1.Text = "";
string[] newline;
StreamReader reader = new StreamReader(filename, true);

while (reader.EndOfStream == false)
{
newline = reader.ReadLine().Split(',');
textBox1.Text = textBox1.Text + newline[1] + ", " + newline[2] + ": " + newline[0] + '"' + newline[3] + '"' +" " + '"' + newline[4] + '"'+"\n";

}
reader.Close();
}

2 个答案:

答案 0 :(得分:1)

您要检查换行符数组的长度:

if ( newline.Length >= 5 ) textBox1.Text = textBox1.Text + newline[1] + ", " + newline[2] + ": " + newline[0] + '"' + newline[3] + '"' +" " + '"' + newline[4] + '"'+"\n";

我还建议您继续学习在StreamReader上使用“ using”语句,因为它是可使用的资源。这样可以确保文件被关闭。

答案 1 :(得分:0)

我想为可能有同样疑问的其他人回答我的问题。

if(obj.ShowDialog() == DialogResult.OK){
filename = obj.FileName;
textBox1.Text = "";             
StreamReader reader = new StreamReader(filename, true);
while (reader.EndOfStream == false)
{
string newline = reader.ReadLine();
{
string[] values = newline.Split(',');
textBox1.Text = textBox1.Text + values[1] + ", " + values[2] + ": " + values[0] + '"' + values[3] + '"' + " " + '"' + values[4] +'"' + Environment.NewLine;
}
}
reader.Close();
}