在写入新文件时,仅在第一个实例发生后删除行实例

本文关键字:实例 第一个 删除行 新文件 文件 | 更新日期: 2023-09-27 18:04:07

对不起,我的主题标题很糟糕,但我想不出另一种方式来定义它…我正在读取一个文本文件,然后遗漏了某些行,然后将我想要保留的行写入新文件……我想保持在文件中默认的列标题,但它们在页面上多次发生-我只希望它们一次在顶部,我需要一些帮助,我需要在我的代码中删除第一个被读取后的标题的所有实例…这是我的代码到目前为止,工作得很好,我想给你一些背景…

            string line = null;
            StringBuilder sb = new StringBuilder();
            string lineDelete = "";
            string lineData = "#";
            string copy = "rcpy"; 
            string cp = "vvcp";
            string dash ="-------";
           string total = "total";
            // Read the file and display it line by line.
            using (System.IO.StreamReader file = new System.IO.StreamReader(textBox1.Text))
            {
                using (System.IO.StreamWriter writer = new System.IO.StreamWriter(@"C:'test3.txt"))
                {
                    while ((line = file.ReadLine()) != null)
                    {
                        line = line.Trim();
                        if (line.Contains(lineData))
                            continue;
                        if (line.Contains(copy))
                            continue;
                        if (line.Contains(cp))
                            continue;
                        if (line.Contains(dash))
                            continue;
                        if (line.Contains(total))
                            continue;
                        else
                            writer.WriteLine(line);

在写入新文件时,仅在第一个实例发生后删除行实例

您可以使用StringBuilder实例来形成您的结果(要在开头添加行,您应该使用Insert方法,第一个参数设置为0,第二行添加:http://msdn.microsoft.com/en-us/library/7tyt41s0(v=vs.110).aspx)。

如果头文件可能在文件中出现几次,那么可以跟踪是否已经添加了bool变量。

当你已经形成了你的结果,你可以保存到file:

using (StreamWriter outfile = new StreamWriter(@"c:'test3.txt"))
{
    outfile.Write(sb.ToString());
}