如何在C#的前一行之后编写文本文件?

问题描述 投票:0回答:3

我下面的代码创建一个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

我该怎么做?请帮助。

c# io append
3个回答
6
投票

StreamWriter具有构造函数,可让您追加文本,而不仅仅是将其写入文件。构造函数是

new StreamWriter(string filepath, bool append)

如果将布尔值设置为“ true”,则所有文字将在文档的结尾。在您的示例中...

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

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

0
投票

尝试一下:

 System.IO.File.WriteAllText(@"file_location", System.IO.File.ReadAllText(@"file_location") + System.Environment.NewLine + "The_new_text");

将在下一行添加新文本。

© www.soinside.com 2019 - 2024. All rights reserved.