.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");
}
}
}