ArrayList duplicar un archivo de texto Curso de Programación C# Sharp

Lección:

Gestión Dinámica de Memoria


Ejercicio:

ArrayList duplicar un archivo de texto 57


Objetivo:

Cree un programa que lea desde un archivo de texto y lo almacene en otro archivo de texto invirtiendo las líneas.

Por lo tanto, un archivo de texto de entrada como:

ayer el Madrid
le ganó
al Barcelona

se almacenará en un archivo de texto de salida como:

al Barcelona
le ganó
ayer el Madrid


Código:

using System;
using System.IO;
using System.Collections;
namespace TextFileInvert
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Introduce el nombre del fichero: ");
            string nombreArchivo = Console.ReadLine();

            if (!File.Exists(nombreArchivo))
            {
                Console.Write("El archivo no existe!");
                return;
            }

            try
            {
                StreamReader miArchivo;
                miArchivo = File.OpenText(nombreArchivo);
                string line;

                ArrayList miLista = new ArrayList();

                do
                {
                    line = miArchivo.ReadLine();
                    if (line != null)
                        miLista.Add(line);
                }
                while (line != null);

                miArchivo.Close();

                StreamWriter miArchivoAlReves = File.CreateText(
                    nombreArchivo + "-reverse.txt");

                int tamanyoArchivo = miLista.Count;
                for (int i = tamanyoArchivo - 1; i >= 0; i--)
                {
                    miArchivoAlReves.WriteLine(miLista[i]);
                }

                miArchivoAlReves.Close();

            }
            catch (Exception e)
            {
                Console.WriteLine("Error, " + e.Message);
            }
            Console.ReadLine();
        }
    }
}