Как написать текстовый файл после предыдущей строки в C #? - PullRequest
0 голосов
/ 25 мая 2010

Мой код ниже создает текстовый файл и записывает что-то в этот файл. Но мне нужно написать новую строку после предыдущих строк, когда я запускаю скрипт несколько раз. Код:

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 ]

6 голосов
/ 25 мая 2010

StreamWriter имеет конструктор, который позволяет добавлять текст, а не просто записывать в файл. Конструктор

new StreamWriter(string filepath, bool append)

Если вы установите для этого bool значение "true", тогда все записи будут в конце документа. В вашем примере ...

StreamWriter Tex = new StreamWriter(@"D:\DOT_NET\C#\abc.txt", true);
2 голосов
/ 25 мая 2010
using (StreamWriter sw = File.AppendText(path)) 
{
   sw.WriteLine("...");
}
0 голосов
/ 01 августа 2014

Попробуйте это: System.IO.File.WriteAllText (@ "file_location", System.IO.File.ReadAllText (@ "file_location") + System.Environment.NewLine + "The_new_text"); этот код изменит строку, которую вы хотите, на то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...