gpt4 book ai didi

c# - 写入文本文件

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:13 25 4
gpt4 key购买 nike

我有一个包含这些内容的文本文件

balamurugan,rajendran,chendurpandian
christopher
updateba

我已经阅读了这些文件并搜索了关键字 ba 和 我试图写入另一个文本文件 log.txt 但在执行我的代码之后 我只得到第三行

`LineNo : 2 : updateba` 

我需要得到这两行

LineNo : 0 : balamurugan,rajendran,chendurpandian
LineNo : 2 : updateba

我正在使用这段代码写入一个文本文件

if (File.Exists(FilePath))
{
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader(FilePath);
while ((line = file.ReadLine()) != null)
{
if (line.Contains(regMatch))
{
DirectoryInfo Folder = new DirectoryInfo(textboxPath.Text);
if (Folder.Exists)
{
var dir = @"D:\New folder\log";
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
File.WriteAllText(Path.Combine(dir, "log.txt"), "LineNo : " + counter.ToString() + " : " + line + "<br />");

}
else
{
Response.Write("<script language='javascript'>window.alert('Folder not found');</script>");
}
Response.Write("<script language='javascript'>window.alert('Pattern found');</script>");
Response.Write("LineNo : " + counter.ToString()+ " : " + line + "<br />");
}

else
{
Response.Write("<script language='javascript'>window.alert('Pattern not found');</script>");
}
counter++;


}
file.Close();
}
else
{
Response.Write("<script language='javascript'>window.alert('File not found');</script>");
}

我用过这个样本link text

有什么建议吗???

最佳答案

您正在调用 WriteAllText - 这覆盖文件;也许你应该 File.AppendAllText?或者,更有效地,首先使用 StreamWriter - 即

using (var dest = File.CreateText(path))
{
while (loopCondition)
{
// snip
dest.WriteLine(nextLineToWrite);
}
}

将问题中的代码简化为类似的最小关键代码,例如:

DirectoryInfo Folder = new DirectoryInfo(textboxPath.Text);
var dir = @"D:\New folder\log";
if (Folder.Exists)
{
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
}

if (File.Exists(FilePath))
{
// Read the file and display it line by line.
using (var file = File.OpenText(FilePath))
using (var dest = File.AppendText(Path.Combine(dir, "log.txt")))
{
while ((line = file.ReadLine()) != null)
{
if (line.Contains(regMatch))
{
dest.WriteLine("LineNo : " + counter.ToString() + " : " +
line + "<br />");
}
counter++;
}
}
}

关于c# - 写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com