C# 如何在文本文件中只写一行
我有两个文本文件C# 如何在文本文件中只写一行,c#,C#,我有两个文本文件bala.txt和bala1.txt bala.txt逐行包含如下文本: balamurugan,rajendran,chendurpandian christopher updateba ba bala1.txt逐行包含如下文本: balamurugan,rajendran,chendurpandian christopher updateba ba 在这里,我需要用bala.txt检查bala1.txt,并将其写入日志文件 Pattern Name:ba Line
bala.txt
和bala1.txt
bala.txt
逐行包含如下文本:
balamurugan,rajendran,chendurpandian
christopher
updateba
ba
bala1.txt
逐行包含如下文本:
balamurugan,rajendran,chendurpandian
christopher
updateba
ba
在这里,我需要用bala.txt
检查bala1.txt
,并将其写入日志文件
Pattern Name:ba
LineNo : 1 : balamurugan,rajendran,chendurpandian
LineNo : 3 : updateba
现在是这样写的
Pattern Name :ba
LineNo : 1 : balamurugan,rajendran,chendurpandian
LineNo : 2 : christopher
Pattern Name :ba
LineNo : 3 : updateba
这是我的密码
while ((line = file.ReadLine()) != null)
{
if (line.IndexOf(line2,StringComparison.CurrentCultureIgnoreCase) != -1)
dest.WriteLine("Pattern Name :" + line2);
dest.WriteLine("LineNo : " + counter.ToString() + " : " + line);
counter++;
}
file.BaseStream.Seek(0, SeekOrigin.Begin);
//(0, SeekOrigin.Begin);
counter = 1;
我不知道如何只写一次模式名ba…有什么建议吗???要对代码进行最少的更改,您可以这样更改:
bool patternwritten = false;
while ((line = file.ReadLine()) != null)
{
if (line.IndexOf(line2,StringComparison.CurrentCultureIgnoreCase) != -1)
if( !patternwritten){
dest.WriteLine("Pattern Name :" + line2);
patternwritten = true;
}
dest.WriteLine("LineNo : " + counter.ToString() + " : " + line);
counter++;
}
file.BaseStream.Seek(0, SeekOrigin.Begin);
//(0, SeekOrigin.Begin);
counter = 1;
要对代码进行最少的更改,可以如下所示进行更改:
bool patternwritten = false;
while ((line = file.ReadLine()) != null)
{
if (line.IndexOf(line2,StringComparison.CurrentCultureIgnoreCase) != -1)
if( !patternwritten){
dest.WriteLine("Pattern Name :" + line2);
patternwritten = true;
}
dest.WriteLine("LineNo : " + counter.ToString() + " : " + line);
counter++;
}
file.BaseStream.Seek(0, SeekOrigin.Begin);
//(0, SeekOrigin.Begin);
counter = 1;