Создайте файл .txt, если он не существует, и если он добавляет новую строку - PullRequest
142 голосов
/ 28 марта 2012

Я хотел бы создать файл .txt и записать в него, и если файл уже существует, я просто хочу добавить еще несколько строк:

string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
    File.Create(path);
    TextWriter tw = new StreamWriter(path);
    tw.WriteLine("The very first line!");
    tw.Close();
}
else if (File.Exists(path))
{
    TextWriter tw = new StreamWriter(path);
    tw.WriteLine("The next line!");
    tw.Close(); 
}

Но первая строка, кажется, всегда перезаписывается... как мне избежать записи в одной строке (я использую это в цикле)?

Я знаю, что это довольно простая вещь, но я никогда раньше не использовал метод WriteLine.Я совершенно новичок в C #.

Ответы [ 12 ]

1 голос
/ 24 мая 2018
using(var tw = new StreamWriter(path, File.Exists(path)))
{
    tw.WriteLine(message);
}
1 голос
/ 27 сентября 2016

Из документации Microsoft вы можете создать файл, если он не существует, и добавить его в один вызов Метод File.AppendAllText (String, String)

.NET Framework (текущая версия) Другие версии

Открывает файл, добавляет указанную строку в файл и затем закрывает файл. Если файл не существует, этот метод создает файл, записывает указанную строку в файл, а затем закрывает файл. Пространство имен: System.IO Сборка: mscorlib (в mscorlib.dll)

Синтаксис C # C ++ F # VB public static void AppendAllText ( путь строки, содержимое строки ) параметры дорожка Тип: System.String Файл, к которому нужно добавить указанную строку. содержание Тип: System.String Строка для добавления в файл.

AppendAllText

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