如何在C#中的上一行之后写一个文本文件?

时间:2010-05-25 12:37:26

标签: c# io append

我的下面的代码创建了一个txt文件,并将内容写入该文件。但是当我多次运行脚本时,我需要在前面的行之后写一个新行。代码:

string filePath = "D:\\DOT_NET\\C#\\abc.txt";
FileInfo t = new FileInfo(filePath);
StreamWriter Tex = t.CreateText();
Tex.WriteLine("Hi freinds");
Tex.WriteLine("csharpfriends is the new url for c-sharp");
Tex.Write(Tex.NewLine);
Tex.Close();

abc.txt文件的当前输出:

Hi friends
csharpfriends is the new url for c-sharp

但如果我多次运行脚本,我需要输出:

Hi friends
csharpfriends is the new url for c-sharp

Hi friends
csharpfriends is the new url for c-sharp

Hi friends
csharpfriends is the new url for c-sharp

我该怎么做?请帮忙。

3 个答案:

答案 0 :(得分:6)

StreamWriter有一个构造函数,可以添加文本而不是只写入文件。

是构造函数
new StreamWriter(string filepath, bool append)

如果将bool设置为“true”,则所有写入都将在文档的末尾。在你的例子中......

StreamWriter Tex = new StreamWriter(@"D:\DOT_NET\C#\abc.txt", true);

答案 1 :(得分:2)

using (StreamWriter sw = File.AppendText(path)) 
{
   sw.WriteLine("...");
}

答案 2 :(得分:0)

试试这个:     System.IO.File.WriteAllText(@“file_location”,System.IO.File.ReadAllText(@“file_location”)+ System.Environment.NewLine +“The_new_text”); 此代码将更改您想要的行所需的行。