Simulación Del Comando 'Más' De Unix En C#

Cree un programa en C# que simule mejor la funcionalidad del comando Unix, lo que permite al usuario ver el contenido de un archivo de texto pantalla por pantalla. El programa mostrará 24 líneas de texto a la vez, truncando cada línea a 79 caracteres. Después de mostrar 24 líneas, el programa solicitará al usuario que presione Intro para continuar. Este proceso se repetirá hasta que se muestren todas las líneas del archivo. El programa debe gestionar la lectura de archivos y la lógica de visualización en pantalla, garantizando una interacción fluida con el usuario, similar al comportamiento de la línea de comandos.



Grupo

Manejo de archivos en C#

Objectivo

1. Cree un programa que lea el contenido de un archivo de texto.
2. Muestre el contenido en fragmentos de 24 líneas, truncando cada una a 79 caracteres.
3. Tras mostrar cada fragmento, solicite al usuario que presione Intro para continuar.
4. Continúe hasta que se muestren todas las líneas del archivo.
5. Asegúrese de que el programa se detenga una vez que se haya mostrado todo el archivo.

Cree un programa en C# que se comporte como el comando "more" de Unix: debe mostrar el contenido de un archivo de texto y solicitar al usuario que presione Intro cada vez que se llene la pantalla. Como método sencillo, puede mostrar las líneas truncadas a 79 caracteres y detenerse después de cada 24 líneas.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;
using System.IO;

class MoreCommandSimulation
{
    static void Main(string[] args)
    {
        // Prompt user to enter the filename
        Console.Write("Enter the filename: ");
        string filename = Console.ReadLine();

        // Check if the file exists
        if (File.Exists(filename))
        {
            // Open the file to read its contents
            string[] lines = File.ReadAllLines(filename);
            int linesPerPage = 24;  // Number of lines to display at once
            int maxLineLength = 79;  // Maximum line length to display

            // Display lines in chunks of 24
            for (int i = 0; i < lines.Length; i += linesPerPage)
            {
                // Display up to 24 lines, truncated to maxLineLength
                for (int j = i; j < i + linesPerPage && j < lines.Length; j++)
                {
                    Console.WriteLine(lines[j].Length > maxLineLength ? lines[j].Substring(0, maxLineLength) : lines[j]);
                }

                // If there are more lines to display, ask user to continue
                if (i + linesPerPage < lines.Length)
                {
                    Console.WriteLine("\nPress Enter to continue...");
                    Console.ReadLine();  // Wait for user input to continue
                }
            }
        }
        else
        {
            // If the file doesn't exist, inform the user
            Console.WriteLine("The file does not exist.");
        }
    }
}

 Output

Enter the filename: sample.txt
This is a sample text line that will be truncated if it exceeds 79 characters in length.
Another example of text being displayed here, still within the limits of the screen size.
...
Press Enter to continue...
This is the 25th line of text.
Another line is displayed here after the user presses Enter.
...
Press Enter to continue...
The file has ended.

Comparte este ejercicio de C#

Practica más ejercicios C# de Manejo de archivos en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..