.NET 3.x Не дописывается файл - C#
Формулировка задачи:
Вообщем попытаюсь объяснить дословно! =)
Пытаюсь записать в файл информацию из других файлов(текст)
Но при записи первый не дописывается.
Использую.
для дальнейшей записи использую:
И что получается в txt файле :
И сделать это так чтобы не появлялось снова
-============[Email]============-
И нужно сделать для каждого using'a дописывать файл!
Вообщем как сделать так:
1 - Создает файл и записывает!
2 - Дописывает файл если есть ещё текст то дописывал к первой строке!
Запись в файл сделал таким образом:
где Log - это путь до txt файла
где FG - Это что записывается в файл!
string Account;
using (FileStream fsLogs = new FileStream(Log, FileMode.Create, FileAccess.Write)) { try { // тут что записывается } catch{} fsLogs.Close(); StreamWriter swAccount = File.AppendText(Log); swAccount.WriteLine(Account); swAccount.Close(); }
using (StreamWriter fsLogs = new StreamWriter(Log, true)) { // тут есть косяк мой) закрывать нужно уже не using. fsLogs.Close(); StreamWriter swAccount = File.AppendText(Log); swAccount.WriteLine(FG); swAccount.Close(); }
-============[Email]============- Какой-то текст -============[Email]============- Если есть какой-то ещё текст в Email ) то его дописывать в файл
Или подскажите как удалить эту строку при записи?
string.Format("-============[Email]============-");
Большую часть наверное никто не понял) Сорян за такие подробности))
Лучше по последней строке скажите что делать?!
P.S: Например:
-============[Email]============- .. Тут первой записи появилось =[Email]= А теперь нужно удалить её если будет ещё 1 запись =[Email]= -============[Email]============- =) Чтобы просто текст копировался без заголовка)
using (var swAccount = new StreamWriter(Log, true)) { swAccount.WriteLine(FG); swAccount.Close(); }
Решение задачи: «.NET 3.x Не дописывается файл»
textual
Листинг программы
using System; using System.IO; namespace ConsoleTests { class Program { static void Main(string[] args) { string logPath = "log.txt"; string text = "Hello, write me to file !1123123213"; string firstLine = "=====Email====="; using (FileStream fs = File.Open(logPath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { using (StreamReader reader = new StreamReader(fs)) { using (StreamWriter writer = new StreamWriter(fs)) { //writer.AutoFlush = true; if (reader.ReadLine() != firstLine) { writer.WriteLine(firstLine); writer.Flush(); fs.Seek(fs.Length, SeekOrigin.Begin); //Or fs.Seek(0, SeekOrigin.End); } writer.WriteLine(text); } } } Console.WriteLine("Done"); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д