在文本文件中搜索字符串,如果找到,请阅读下一行

时间:2015-02-15 21:07:23

标签: c# .net streamreader

我很明显是C#的新手。

我正在寻找一种方法来读取文本文件中的每一行,并在该文本文件中搜索唯一的字符串。如果if找到字符串,那么我需要它才能读取下一行并将其输出到文本框。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以通过行枚举,直到找到唯一字符串并将下一行设置为文本框值并中断操作

bool found = false;
foreach (var line in File.ReadLines("filepath"))
{
    if (found)
    {
        textBox1.Text = line;
        break;
    }
    found = line.Contains("unique string");                
}
textBox1.Text = "not found";

File.ReadLines(file)逐个读取指定文件中的行。

foreach(var item in container)将逐个从容器中获取物品,您可以使用物品来处理物品。

y.Contains(x)检查y是否包含x。

答案 1 :(得分:-2)

与其他答案类似,但这涉及StreamReader类:

using (StreamReader r = new StreamReader("filename.ext"))
{
    string line, version = "";
    bool nameFound = false;
    while ((line = r.ReadLine()) != null)
    {
        if (nameFound)
        {
            version = line;
            break;
        }

        if (line.IndexOf("UniqueString") != -1)
        {
            nameFound = true;
            // current line has the name
            // the next line will have the version
        }
    }

    if (version != "")
    {
        // version variable contains the product version
    }
    else
    {
        // not found
    }
}