Вот кусок кода -
Console.WriteLine(s);
a = Console.ReadLine();
FileInfo f = new FileInfo(@"C:\kardlnal\i.txt");
StreamWriter w = f.CreateText();
w.WriteLine(a);
w.Close();
Все вроде работает, но есть одно но. Это действие заключено в цикле, после каждого запуска переменная s меняет значения и так же, после каждого запуска, в файле C:\kardlnal\i.txt стирается то, что было написано раньше. Мне же надо, чтобы эта команда дописывала, а не переписывала все заново.
Возможно так сделать или нет?
Во первых, создавать FileInfo нет смысла.
StreamWriter вторым параметром принимает append, который можно задать в true и тогда значения будут добавляться в файл.
using (StreamWriter w = new StreamWriter(@"C:\kardlnal\i.txt", true))
{
w.WriteLine(a);
}
В третьих, если у Вас в цикле всё записывается, то зачем Вам на каждой итерации заново создавать StreamWriter? Почему бы его не создать до цикла и закрыть после?
Конечно возможно.
Например так:
using (var stream = new FileStream(@"C:\kardlnal\i.txt", FileMode.Append))
using (StreamWriter w = new StreamWriter(stream))
{
w.WriteLine(a);
}
Здесь вторым аргументом конструктора FileStream передается режим открытия файла - FileMode.Append.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей