在写入新文件时,仅在第一个实例发生后删除行实例
本文关键字:实例 第一个 删除行 新文件 文件 | 更新日期: 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());
}