Streamwriter перезаписывает текст в txtfile - PullRequest
0 голосов
/ 05 октября 2011

Есть ли какой-нибудь способ открыть потоковую запись без создания нового объекта для записи? Потому что в тот момент, когда вызывается WriteOdd, streamwriter перезаписывает WriteEven, который вызывается перед ним: /

public void WriteEven()
        {

           StreamWriter writer = new StreamWriter(FILENAME);   
           for (int i = 0; i < array.Length; i+= 2)
            {
                Console.WriteLine(array[i]);

                writer.WriteLine("EvenNumbers: " + array[i]);

            }

            writer.Close();


        }

        public void WriteOdd()
        {
            StreamWriter writer = new StreamWriter(FILENAME);
            for (int i = 1; i < array.Length; i += 2)
            {
                Console.WriteLine(array[i]);


                writer.WriteLine("OddNumbers: " + array[i]);


            }
            writer.Close();
        }   

Спасибо

Ответы [ 2 ]

4 голосов
/ 05 октября 2011

Используйте перегрузку, которая спрашивает вас, хотите ли вы добавить

public StreamWriter(
    string path,
    bool append
)

http://msdn.microsoft.com/en-us/library/36b035cb.aspx

1 голос
/ 05 октября 2011

Вы можете передать потоковый объект в методы WriteEven () и WriteOdd ().

public void WriteOdd(StreamWiter writer)
{
  for (int i = 1; i < array.Length; i += 2)
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...