从输出文件中删除原始行

时间:2013-03-24 08:26:19

标签: c#

我想从output.txt文件中删除tempstring

File.Copy(words, Npath);
StreamReader temp = new StreamReader(Npath, Encoding.UTF8);
string tempstring = temp.ReadToEnd();
string[] temp3 = tempstring.Split(',');
temp.Close();

StreamWriter sW = File.AppendText(Npath);
string remove = tempstring.Replace(tempstring," ");
foreach (string item in temp3)
{
    string str = item.TrimStart().TrimEnd();
    string newStr = "<addr-line>" + str + "</addr-line>";
    sW.WriteLine(newStr);
}
sW.Close();

输出.txt文件显示

  
    

诺维萨德大学技术科学学院Marko Kostic,     Trg D. Obradovica 6,21125 Novi Sad,塞尔维亚

  
<addr-line>Marko Kostic</addr-line>
<addr-line>Faculty of Technical Sciences</addr-line>
<addr-line>University of Novi Sad</addr-line>
<addr-line>Trg D. Obradovica 6</addr-line>
<addr-line>21125 Novi Sad</addr-line>
<addr-line>Serbia</addr-line>

我想删除粗体段落,其中代码为tempstring,来自输出文件

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

为什么要使用追加?

//StreamWriter sW = File.AppendText(Npath);
StreamWriter sW = new StreamWriter(Npath);

这将删除旧内容(您之前阅读过的内容)并设置新内容。

答案 1 :(得分:0)

替换

StreamWriter sW = File.AppendText(Npath);

StreamWriter sW = new StreamWriter(Npath, false);

因为,您要覆盖文件中的文本,所以不应在追加模式下打开文件,而应创建新的StreamWriter并传递false参数,该参数将为{{1}设置错误值选项。