Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅在写入新文件时发生第一个实例之后删除行的实例_C#_Visual Studio 2010_Text_Streamwriter - Fatal编程技术网

C# 仅在写入新文件时发生第一个实例之后删除行的实例

C# 仅在写入新文件时发生第一个实例之后删除行的实例,c#,visual-studio-2010,text,streamwriter,C#,Visual Studio 2010,Text,Streamwriter,很抱歉,我的主题标题太糟糕了,但我想不出另一种方式来定义它。。。 我在读一个文本文件,然后漏掉一些特定的行,然后把我想保留的行写到一个新文件中。。。我想保留文件中默认的列标题,但它们在页面中出现多次-我只希望它们在顶部出现一次,我需要一些帮助,我需要在代码中添加什么,以便在读取第一个后删除所有标题实例。。。这是我到目前为止的代码,它可以很好地工作我想要的-给你一些上下文 string line = null; StringBuilder sb =

很抱歉,我的主题标题太糟糕了,但我想不出另一种方式来定义它。。。 我在读一个文本文件,然后漏掉一些特定的行,然后把我想保留的行写到一个新文件中。。。我想保留文件中默认的列标题,但它们在页面中出现多次-我只希望它们在顶部出现一次,我需要一些帮助,我需要在代码中添加什么,以便在读取第一个后删除所有标题实例。。。这是我到目前为止的代码,它可以很好地工作我想要的-给你一些上下文

            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,第二个要添加的行:)

如果头文件可能会在文件中出现几次,则可以跟踪您是否已经使用bool vraiable添加了它

形成结果后,可以将其保存到文件:

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

请随所需输出一起包含一个示例输入文件。我们将很快尝试此逻辑