Я использую StreamWriter для записи в файловый поток, как такКак вы можете игнорировать буферу StreamWriter
using(StreamWriter writer = File.AppendText('MyFile.csv'))
{
writer.WriteLine("Header1,Header2")
//Write multiple lines based on some logic
DoSomeOtherThings(writer)
writer.Flush();
}
Если мои ошибки приложений в середине письма, я не хочу писать в файл вообще. Чтобы сделать это, я подумал, что мне просто не нужно краснеть до конца. Однако, даже если есть ошибка, любые записанные данные сохраняются в моем файле.
Есть ли способ игнорировать буфер StreamWriter, чтобы он не сохранял данные в файле, если он не достигнет конца логики?
Очевидно, что вы уничтожили файл независимо от того, что вы делаете, поэтому вам нужно его удалить. Или не добавляйте его. Или вместо этого используйте StringWriter. –
Имейте DoSomeOtherThings пишите в буфер памяти, и если он не сработает, напишите этот буфер памяти в файл. – Quintium
Обертывание логики в попытке поймать и закрыть базовый поток (поток файлов в этом случае) в разделе catch будет разумным вариантом? Это закроет поток до того, как у автора появится возможность сбросить данные. – user2945722