从文本文件中检索以特定字母开头的文本,并将其显示在文本框中

时间:2017-12-02 17:03:07

标签: c#

我正在创建一个控制台应用程序,它将名称作为输入并将其存储在文本文件中,然后我想检索以A开头的名称。

控制台应用程序有两个文本框和两个按钮。通过按下button1,文本框1中输入的文本将被复制到文本文件中,单击button2,U想要检索以A开头的名称,并将其显示在textbox2中。

private void button1_Click(object sender, EventArgs e)
{
    TextWriter txt = new StreamWriter("d:\\demo.txt");
    txt.Write(textBox1.Text);
    txt.Close();
}

private void button2_Click(object sender, EventArgs e)
{
     textBox2.Text = File.ReadAllText("d:\\demo.txt");    
}

我知道如何使用

检索文本文件的整个数据
textBox2.Text = File.ReadAllText("d:\\demo.txt");

请帮我检索以A开头的名字。

2 个答案:

答案 0 :(得分:0)

Write更改为WriteLine,然后您可以将每个名称作为单独的行读取。执行此操作时,请检查带StartsWith的第一个字母。如果以a开头,请使用textbox2将其附加到+=

private void button1_Click(object sender, EventArgs e)
{
    TextWriter txt = new StreamWriter("d:\\demo.txt");
    txt.WriteLine(textBox1.Text);
    txt.Close();
}
private void button2_Click(object sender, EventArgs e)
{
    string line;
    System.IO.StreamReader file = new System.IO.StreamReader(@"d:\\demo.txt"); 

    while((line = file.ReadLine()) != null)  
    {  
        if (line.ToLower().StartsWith("a"))
        {
            textBox2.Text += " " + line;
        }
    } 
} 

答案 1 :(得分:0)

您没有提供所需的详细信息,但您是否正在寻找类似的内容; (将文本作为行写入文件并阅读)

    private void button1_Click(object sender, EventArgs e)
    {
        TextWriter txt = new StreamWriter(@"d:\\demo.txt", append: true);
        txt.WriteLine(textBox1.Text);
        txt.Close();
    }
    private void button2_Click(object sender, EventArgs e)
    {
        var lines = File.ReadAllLines(@"d:\\demo.txt").Where(x => x.StartsWith("A"));
        textBox2.Text = string.Join(",", lines);
    }