Invertir Un Archivo De Texto - Ejercicio De Programacion C# Sharp

Este ejercicio en C# tiene como objetivo enseñar cómo manipular archivos de texto y cómo invertir su contenido utilizando estructuras de programación básicas. En este ejercicio, debes crear un programa que lea un archivo de texto, invierta las líneas y las escriba en un nuevo archivo con el mismo nombre pero con la extensión ".tnv". El archivo resultante tendrá las mismas líneas que el archivo original, pero en orden inverso: la primera línea se convertirá en la última, la segunda en la penúltima, y así sucesivamente.

Para resolver este ejercicio, se recomienda leer el archivo en dos pasos: primero, contar la cantidad de líneas del archivo, y luego, almacenar esas líneas en un array para posteriormente escribirlas en el nuevo archivo en orden inverso. Este ejercicio es ideal para practicar el manejo de archivos y el uso de arrays en C#.

El reto te permitirá mejorar tus habilidades en la manipulación de texto y en la comprensión de cómo se puede modificar el contenido de un archivo programáticamente.

 Categoría

Administración de Archivos

 Ejercicio

Invertir Un Archivo De Texto

 Objectivo

Crear un programa para "invertir" el contenido de un archivo de texto: crear un archivo con el mismo nombre que termine en ".tnv" y que contenga las mismas líneas que el archivo original pero en orden inverso (la primera línea será la última, la segunda será la penúltima, y así sucesivamente, hasta la última línea del archivo original, que debe aparecer en la primera posición del archivo resultante).

Sugerencia: la forma más fácil, utilizando solo las estructuras de programación que conocemos hasta ahora, es leer los archivos de origen dos veces: la primera vez para contar la cantidad de líneas en el archivo y la segunda vez para almacenarlas en una matriz.

 Ejemplo Ejercicio C#

 Copiar Código C#
// Importing necessary namespaces
using System; // Importing the System namespace for basic C# functionality
using System.IO; // Importing the IO namespace for file operations

public class InvertFileContents
{
    // Method to invert the contents of the text file
    public static void InvertFile(string inputFile)
    {
        // Generate the output file name by appending ".tnv" to the input file name
        string outputFile = Path.ChangeExtension(inputFile, ".tnv"); 

        // Read all lines from the input file
        string[] lines = File.ReadAllLines(inputFile); // Read all lines into an array

        // Open the output file for writing
        using (StreamWriter writer = new StreamWriter(outputFile)) // Open the output file in write mode
        {
            // Write the lines in reverse order
            for (int i = lines.Length - 1; i >= 0; i--) // Loop through the array in reverse order
            {
                writer.WriteLine(lines[i]); // Write the current line to the output file
            }
        }

        // Notify the user that the file inversion is complete
        Console.WriteLine($"File '{inputFile}' has been inverted and saved as '{outputFile}'."); // Print success message
    }
}

class Program
{
    // Main method where the program execution starts
    static void Main(string[] args)
    {
        // Check if the user provided the file name as an argument
        if (args.Length < 1) // If no file name is provided
        {
            Console.WriteLine("Please provide the input text file."); // Prompt user to provide the file
            return; // Exit the program if no file is provided
        }

        string inputFile = args[0]; // Assign the input file name from the command line argument

        // Check if the input file exists
        if (!File.Exists(inputFile)) // If the input file doesn't exist
        {
            Console.WriteLine($"The file '{inputFile}' does not exist."); // Print error message
            return; // Exit the program if the file doesn't exist
        }

        // Call the method to invert the contents of the file
        InvertFileContents.InvertFile(inputFile); // Invert the file contents and save the result

    }
}

 Salida

You provide a text file, e.g., example.txt, containing:
Line 1
Line 2
Line 3

dotnet run example.txt

Line 3
Line 2
Line 1

File 'example.txt' has been inverted and saved as 'example.tnv'.

 Comparte este Ejercicio C# Sharp

 Más Ejercicios de Programacion C# Sharp de Administración de Archivos

¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.

  •  Lectura de un archivo binario (2 - GIF)

    Este ejercicio en C# tiene como objetivo enseñar cómo verificar la validez de un archivo de imagen GIF. En este ejercicio, se requiere crear un programa que le...

  •  Base de datos de amigos, utilizando archivos

    Este ejercicio en C# tiene como objetivo ampliar una base de datos de amigos, permitiendo que los datos se carguen desde un archivo al inicio de ...

  •  Traductor de Pascal a C#

    Este ejercicio en C# consiste en crear un traductor básico de Pascal a C#. El programa debe aceptar código escrito en Pascal y convertirlo en un ...

  •  Convertir un archivo de texto en mayúsculas

    Este ejercicio en C# consiste en crear un programa que lea un archivo de texto y volque su contenido en otro archivo, realizando una transformación en el proceso. La ...

  •  Convertir cualquier archivo a mayúsculas

    Este ejercicio en C# consiste en crear un programa que lea un archivo de cualquier tipo y volque su contenido en otro archivo, aplicando una transformación en el proc...

  •  Conversor de archivos

    Este ejercicio en C# consiste en crear un programa que "invierte" un archivo. El programa debe tomar un archivo original y crear uno nuevo con el mismo nombre, pero c...