.NET 3.x Не дописывается файл - C#

Узнай цену своей работы

Формулировка задачи:

Вообщем попытаюсь объяснить дословно! =) Пытаюсь записать в файл информацию из других файлов(текст) Но при записи первый не дописывается. Использую.
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();
}
И что получается в txt файле :
-============[Email]============-
Какой-то текст

-============[Email]============-
Если есть какой-то ещё текст в Email )
то его дописывать в файл
И сделать это так чтобы не появлялось снова -============[Email]============- И нужно сделать для каждого using'a дописывать файл! Вообщем как сделать так: 1 - Создает файл и записывает! 2 - Дописывает файл если есть ещё текст то дописывал к первой строке!
Или подскажите как удалить эту строку при записи?
string.Format("-============[Email]============-");
Большую часть наверное никто не понял) Сорян за такие подробности)) Лучше по последней строке скажите что делать?! P.S: Например:
-============[Email]============-
.. Тут первой записи появилось =[Email]=
А теперь нужно удалить её если будет ещё 1 запись =[Email]=
-============[Email]============-
 =)
Чтобы просто текст копировался без заголовка)
Запись в файл сделал таким образом: где Log - это путь до txt файла где FG - Это что записывается в файл!
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");
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы