C# удалить все строки кроме последних в текстом файле!

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Как удалить все строки кроме последних 3 в текстом файле? Ну т.е. надо чтоб всегда было 3 строки, они в конец файла добавляются.

1. Берем текст из файла
2. В файле удаляем верхние строки если их больше чем 3
3. Ложим каждую из трех строк в переменную

Надо кусок кода шарпа...
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 528
Благодарностей
884
Баллы
113
это делается кубиками за пару минут
 

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Ага, кубиками, вы извращенцы столько кубиков лепить?

Чувствуя себя уже программистом с этим решетом. Вот код!

Код:
string filename = @"C:\test.txt";

//читаем поочереди строки с конца и ложим в переменные
string[] readText3 = System.IO.File.ReadAllLines(filename,Encoding.Default);
project.Variables["str3"].Value = readText3[readText3.Length - 1];

string[] readText2 = System.IO.File.ReadAllLines(filename,Encoding.Default);
project.Variables["str2"].Value = readText2[readText2.Length - 2];

string[] readText1 = System.IO.File.ReadAllLines(filename,Encoding.Default);
project.Variables["str1"].Value = readText1[readText1.Length - 3];

//удаляем файл
System.IO.File.Delete(filename);

//записываем файл тремя строками
FileStream aFile = new FileStream(filename, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile);
aFile.Seek(0, SeekOrigin.End);
sw.WriteLine(project.Variables["str1"].Value);
sw.WriteLine(project.Variables["str2"].Value);
sw.WriteLine(project.Variables["str3"].Value);
sw.Close();
 
  • Спасибо
Реакции: zarufakis

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 528
Благодарностей
884
Баллы
113

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
НО проблема при записи в файл.... кодировка неверная, как прописать в моем коде кодировку записи в файл UTF-8
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)