c#在文本文件中查找某个字符串(如果存在的话)

时间:2015-09-08 18:35:46

标签: c#

好吧我想尝试做的是加载一个文本文件搜索某个字符串,如果该字符串存在,那么它将禁用按钮

如果它不存在,那么Wright会将文件

if (File.Exists(hostfile))
{
    {
        string s = "elfenliedtopfan5 programupdate";

        string file = hostfile;
        List<string> lines = new List<string>(System.IO.File.ReadAllLines(file));
        int index = lines.FindLastIndex(item => item.Contains("elfenliedtopfan5 programupdate"));
        if (index != -1)
        {
            lines.Insert(index + 1, s);//""
        }
        //  System.IO.File.WriteAllLines(file, lines);
        MessageBox.Show("text test 1 found");
    }
}
else
{
    DialogResult dialogResult = MessageBox.Show("text not found would you like to add it ", "Text Not Found", MessageBoxButtons.YesNo);
    if (dialogResult == DialogResult.Yes)
    {
        using (StreamWriter sw = File.AppendText(hostfile))
        {               
            sw.WriteLine("elfenliedtopfan5 update");
            sw.Close();
            messagebox.show("done");
        }
    }
}

但是即使知道它确实存在它会再次添加它并且我很困惑为什么会出现这种情况,任何帮助都会被挪用

elfenliedtopfan5

1 个答案:

答案 0 :(得分:1)

这是一种读取或写入文本文件的简单方法:

string filename=@"D:\file.txt";
string value="your value"
var content = System.IO.File.ReadAllText(filename);
if (content.Contains(value))
    this.Button1.Enabled = false;
else
    System.IO.File.AppendAllLines(filename, new string(){value} );