Streamwriter презаписва текста в txtfile

Има ли някакъв начин да отворите отново streamwriter, без той да създава нов обект за писане? Защото в момента, когато се извика 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();
        }   

Благодаря


person user979649    schedule 05.10.2011    source източник


Отговори (2)


Използвайте претоварването, което ви пита дали искате да добавите

public StreamWriter(
    string path,
    bool append
)

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

person Muhammad Hasan Khan    schedule 05.10.2011
comment
@user979649 променете реда на StreamWriter writer = new StreamWriter(FILENAME, true); - person Muhammad Hasan Khan; 05.10.2011

Можете да подадете обект на поток към методите WriteEven() и WriteOdd().

public void WriteOdd(StreamWiter writer)
{
  for (int i = 1; i < array.Length; i += 2)
  ...
}
person kv-prajapati    schedule 05.10.2011