我在与使用控制台应用程序进行一些更改覆盖文本文件的斗争。在这里我正在逐行阅读文件。谁能帮我。如何覆盖同一个文本文件中的文本
StreamReader sr = new StreamReader(@"C:\abc.txt");
string line;
line = sr.ReadLine();
while (line != null)
{
if (line.StartsWith("<"))
{
if (line.IndexOf('{') == 29)
{
string s = line;
int start = s.IndexOf("{");
int end = s.IndexOf("}");
string result = s.Substring(start+1, end - start - 1);
Guid g= Guid.NewGuid();
line = line.Replace(result, g.ToString());
File.WriteAllLines(@"C:\abc.txt", line);
}
}
Console.WriteLine(line);
line = sr.ReadLine();
}
//close the file
sr.Close();
Console.ReadLine();
在这里,我得到的错误文件已被其他进程开放。
请帮助我,任何人。 主要任务是覆盖相同的texfile文件
您应该读取所有使用流读取器的行,将它们存储在行集合中,然后在开始写入fi之前关闭流读取器再次。 –