File IO

File I/O (input/output) in C# allows you to read from and write to files on the disk. This is essential for many applications that need to store data persistently. C# provides classes within the System.IO namespace to handle file operations such as reading, writing, creating, and deleting files.

Key Classes for File I/O

  • File: Provides static methods for creating, copying, deleting, moving, and opening files, as well as for reading from and writing to a file.
  • FileInfo: Provides instance methods for creating, copying, deleting, moving, and opening files.
  • StreamReader: Used for reading characters from a byte stream.
  • StreamWriter: Used for writing characters to a stream.

Example

using System;
using System.IO;

class Program
{
  static void Main()
  {
      string filePath = "example.txt";

        // Writing to a file
      using (StreamWriter writer = new StreamWriter(filePath))
      {
          writer.WriteLine("Hello, World!");
          writer.WriteLine("This is a sample text file.");
      }
      Console.WriteLine("Data written to file successfully.");

        // Reading from a file
      using (StreamReader reader = new StreamReader(filePath))
      {
          string content = reader.ReadToEnd();
          Console.WriteLine("File Content:\n" + content);
      }
  }
}

Explanation of the Example

  1. Writing to a File:
    • We use a StreamWriter object to write text data to a file.
    • The using statement ensures that the StreamWriter object is properly disposed of after use.
    • We specify the file path (example.txt) and write two lines of text to the file using WriteLine.
  2. Reading from a File:
    • We use a StreamReader object to read text data from the file.
    • The using statement ensures that the StreamReader object is properly disposed of after use.
    • We read the entire content of the file using ReadToEnd and print it to the console.

Key Points

  • File Path: The ‘filePath’ variable indicates the location of the file. In this example, it is set to “example.txt”, which is relative to the application’s working directory.
  • Safe Resource Management: The ‘using’ statement is employed to ensure that both ‘StreamWriter’ and ‘StreamReader’ objects are disposed of properly. This practice is essential for releasing file handles and preventing resource leaks.
  • Exception Handling: In real-world applications, it is advisable to incorporate exception handling using try-catch blocks. This helps manage potential I/O errors, such as files not being found or permission issues.

Benefits of File I/O

  • Data Persistence: File I/O enables your application to store data persistently, allowing you to save and load data across different sessions.
  • Data Sharing: Files can be easily shared between different applications and systems, promoting data exchange and interoperability.
  • Backup and Recovery:Writing data to files helps create backups and supports data recovery mechanisms in the event of application failures or data corruption.
Post a comment

Leave a Comment

Scroll to Top