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());
}
请随所需输出一起包含一个示例输入文件。我们将很快尝试此逻辑