Arraylist Duplicate A Text File - C# Programming Exercise

In this exercise, you need to create a program that reads from a text file and stores it to another text file by reversing the order of the lines. This exercise will allow you to practice text file manipulation in C# and work with efficient data reading and writing. For this exercise, you will be provided with an input text file with the following format:
yesterday Real Madrid
won against
Barcelona FC

After processing the file, you will need to create an output file with the same content but with the lines in reverse order, so the output file will have the following format:
Barcelona FC
won against
yesterday Real Madrid

This exercise is useful for understanding how to read and write files in C#, as well as how to work with basic string and file manipulation operations in the system.

 Category

Dynamic Memory Management

 Exercise

Arraylist Duplicate A Text File

 Objective

Create a program that reads from a text file and stores it to another text file by reversing the order of lines.

For example, an input text file like:

yesterday Real Madrid
won against
Barcelona FC

will be stored in an output text file like:

Barcelona FC
won against
yesterday Real Madrid

 Write Your C# Exercise

// Importing necessary namespaces for file I/O and ArrayList
using System; // For basic functionalities like Console
using System.Collections; // For using the ArrayList class
using System.IO; // For file input and output

class Program
{
    static void Main(string[] args)
    {
        // File paths for input and output text files
        string inputFile = "input.txt";  // Path to the input file
        string outputFile = "output.txt"; // Path to the output file

        // Check if the input file exists before proceeding
        if (File.Exists(inputFile))
        {
            // Create an ArrayList to store the lines from the input file
            ArrayList lines = new ArrayList();

            // Reading all lines from the input file and adding them to the ArrayList
            string[] fileLines = File.ReadAllLines(inputFile);
            foreach (string line in fileLines)
            {
                lines.Add(line); // Adding each line to the ArrayList
            }

            // Reversing the order of lines in the ArrayList
            lines.Reverse();

            // Writing the reversed lines to the output file
            File.WriteAllLines(outputFile, (string[])lines.ToArray(typeof(string)));

            Console.WriteLine("The lines have been reversed and written to the output file.");
        }
        else
        {
            // If the input file does not exist, display an error message
            Console.WriteLine("Input file does not exist.");
        }
    }
}

 Share this C# exercise

 More C# Programming Exercises of Dynamic Memory Management

Explore our set of C# programming exercises! Specifically designed for beginners, these exercises will help you develop a solid understanding of the basics of C#. From variables and data types to control structures and simple functions, each exercise is crafted to challenge you incrementally as you build confidence in coding in C#.

  •  Unlimited sum

    In this exercise, you need to create a program that allows the user to enter an unlimited amount of numbers. Besides entering numbers, the program should allow the user to e...

  •  ArrayList - Text file reader

    In this exercise, you need to create a basic text file reader that displays 21 lines of text and allows the user to navigate using the up and down arrow keys, and exit using...

  •  Hast Table - Dictionary

    In this exercise, you need to create a dictionary using a hash table. The purpose of this exercise is to practice the implementation of an efficient data struc...

  •  Parenthesis

    In this exercise, you need to implement a function to check if a sequence of open and closed parentheses is balanced. In other words, the function should check if every open...

  •  Mix and sort files

    In this exercise, you need to create a program that reads the contents of two different files, merges them, and sorts them alphabetically. The program should be able to take...

  •  ArrayList of Points

    In this exercise, you need to create a structure named "Point3D" to represent a point in 3D space with X, Y, and Z coordinates. The structure should allow storing and manipu...