[英]C# Reading from Comma Separated Text File to Windows Form
我创建了一个Windows窗体,该窗体接受用户输入并将其以逗号分隔的方式写入文本文件,并追加每行。 我希望能够从该文件中读取所有数据,并通过富文本框或标签在另一个Windows窗体上将其显示给用户。
下面的代码是我必须将数据读取到计算机上特定位置的内容。 我不确定是否首先需要将数据读入数组,然后将其发送到标签或文本框。
using (StreamWriter InputFile = File.AppendText(@"C:\Users\person\Desktop\C#\New Text Document.txt"))
{
InputFile.WriteLine(textBox1.Text + "," + textBox2.Text + "," + textBox3.Text + "," + textBox4.Text);
MessageBox.Show("Data Saved!");
我知道还有很多其他这样的帖子,但是我似乎无法获得我要找的答案
是的,您必须读取数组中的所有行并使用类似以下的代码
var lines =File.ReadAllLines(@"C:\Users\person\Desktop\C#\New Text Document.txt");
foreach (var line in lines)
{
var col = line.Split(',');
textBox1.Text = col[0];
textBox2.Text = col[1];
textBox3.Text = col[2];
textBox4.Text = col[3];
}
不,您可以使用File.ReadLines
,它返回IEnumerable<string>
。
int i = 1;
foreach (string line in File.ReadLines(path)) {
string[] columns = line.Split(',');
for (int c = 0; c < columns.Length; c++) {
((TextBox)Controls["textBox" + i++]).Text = columns[c];
}
}
我假设您有第一行的文本框名称为textBox1
到textBox4
,第二行的文本框名称为textBox5
到textBox8
,依此类推。 但是使用网格可能会更好。
还考虑在名称空间Microsoft.VisualBasic.FileIO
使用TextFieldParser
。 它为您完成所有CSV处理。 您将必须添加对Microsoft.VisualBasic.dll
的引用。
注意:Microsoft.VisualBasic.dll中的内容只是一个.NET库,与其他任何库一样,并且在C#中的效果与在VB中一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.