C# Tutorial

C# Tutorial C# First Application C# Variables C# Data Types C# Operators C# Keywords

C# Control Statement

C# If Statements C# Switch Statements C# for Loop C# While Loop C# do While loop C# Jump Statements C# Function C# functions with out variable

C# Arrays

C# Arrays

C# Function

C# Function call by value C# Call by reference C# Passing array to function C# Multidimensional Arrays C# Jagged Arrays C# Params C# Array Class C# Command Line Arguments

C# Object Class

C# Object and Classes C# Constructors C# Destructor C# this Keyword C# static field C# static class C# Static Constructor C# Structs C# enum C# Properties

C# Inheritance

C# Inheritance C# Multilevel Inheritance C# Aggregation C# Member overloading C# Method Overriding C# Base

C# Polymorphism

C# Polymorphism C# Sealed

C# Abstraction

C# Abstraction C# Interface

C# Namespace

C# Namespace C# Access Modifiers C# Encapsulation

C# Strings

C# String

C# Misc

C# Design Patterns Dictionary in C# Boxing and Unboxing in C# Ref and Out in C# Serialization in C# Dispose and Finalize in C# CONSOLE LOG IN C# Get File extension in C# Insert query in c# Difference Between List and Dictionary in C# Getters and Setters in C# Extension Methods in C# Insert query in c# CONSOLE LOG IN C# Get File extension in C# Random.NextDouble() Method in C# Binary Search in C# Difference between Delegates and Interfaces in C# Double.IsFinite() Method in C# Index Constructor in C# Abstraction in C# Basic OOPS Concepts In C# Queue.CopyTo() Method in C# single.compareto() method in C# C# Throw Exception in Constructor DECODE IN C# file.setlastwritetimeutc() method in C# Convert Object to List in C# convert.ToSByte(string, IFormatProvider) Method in C# C# Declare Delegate in Interface console.TreatControl C As Input property in C# Copying the queue elements to 1-D Array in C# Array.Constrainedcopy() Method in C# C# in and out Char.IsLetterOrDigit() method in C# Debugging in C# decimal.compare() method in C# Difference between Console.Read and Console.Readline in C# Metadata in C# C# Event Handler Example Default Interface Methods in C# Difference between hashtable and dictionary in C# C# program to implement IDisposable Interface Encapsulation in C# SortedList.IndexOfVaalue(Object) Method in C# Hash Maps in C# How to clear text files in C# How to Convert xls to xlsx in C# Foreach loop in C# FIFO in C# How to handle null exception in C# Type.Is Instance Of Type() Method in C# How to add data into MySQL database using C# How to use angular js in ASP net Csharp decimal.compare() method in Csharp Difference between Console.Read and Console.Readline in Csharp How to Implement Interface in Csharp char.IsUpper() Method in C# Index Of Any() Method in C# Quantifiers in C# C# program to Get Extension of a Given File C# Error Logging C# ENCRIPTION Can we create an object for Abstract Class in C# Console.CursorVisible in C# SortedDictionary Implementation in C# C# Hash Table with Examples Setting the Location of the Label in c# Collections in c# Virtual Keyword in C# Reverse of string in C# String and StringBuilder in C# Encapsulation in C# SortedList.IndexOfVaalue(Object) Method in C# Hash Maps in C# How to clear text files in C# How to Convert xls to xlsx in C# Foreach loop in C# FIFO in C# How to handle null exception in C# Type.Is Instance Of Type() Method in C# How to add data into MySQL database using C# How to use angular js in ASP net Csharp decimal.compare() method in Csharp Difference between Console.Read and Console.Readline in Csharp How to Implement Interface in Csharp char.IsUpper() Method in C# Index Of Any() Method in C# Quantifiers in C# C# program to Get Extension of a Given File Difference between ref and out in C# Singleton Class in C# Const And Readonly In Csharp BinaryReader and BinaryWriter in C# C# Attributes C# Delegates DirectoryInfo Class in C# Export and Import Excel Data in C# File Class in C# FileInfo Class in C# How to Cancel Parallel Operations in C#? Maximum Degree of Parallelism in C# Parallel Foreach Loop in C# Parallel Invoke in C# StreamReader and StreamWriter in C# TextReader and TextWriter in C# AsQueryable() in C# Basic Database Operations Using C# C# Anonymous Methods C# Events C# Generics C# Indexers C# Multidimensional Indexers C# Multithreading C# New Features C# Overloading of Indexers Difference between delegates and events in C# Operator overloading in C# Filter table in C# C# Queue with Examples C# Sortedlist With Examples C# Stack with Examples C# Unsafe Code File Handling in C# HashSet in C# with Examples List Implementation in C# SortedSet in C# with Examples C# in Depth Delegates and Events in C# Finally Block in C# How to Split String in C# Loggers in C# Nullable Types in C# REVERSE A STRING IN C# TYPE CASTING IN C# What is Generics in C# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# Atomic Methods Thread Safety and Race Conditions in C# Parallel LINQ in C# Design Principles in C# Difference Between Struct And Class In C# Difference between Abstraction and Encapsulation in C# Escape Sequence Characters in C# What is IOC in C# Multiple Catch blocks in C# Appdomain in C# Call back methods in C# Change Datetime format in C# Declare String array in C# Default Access Specifier in c# Foreach in LINQ C# How to compare two lists in C# How to Convert String to Datetime in c# How to get only Date from DateTime in C# Ispostback in asp net C# JSON OBJECT IN C# JSON STRINGIFY IN C# LAMBDA FUNCTION IN C# LINQ Lambda Expression in C# Microservices in C# MSIL IN C# Reference parameter in C# Shadowing(Method hiding) in C# Solid principles in C# Static Members in C# Task run in C# Transaction scope in C# Type Conversion in c# Unit of Work in C# Unit Test Cases in c# User Defined Exception in c# Using Keyword in C# Var Keyword in C# What is gac in C#

StreamReader and StreamWriter in C#

The System.IO namespace contains StreamReader and StreamWriter. Both classes come in handy when you need to read or write character-based data. These classes both focus on Unicode characters.

StreamReader and StreamWriter hail from the abstract class TextReader and textWriter.

StreamReader:

  • A Stream Reader object represents a text reader that reads characters from a stream (much like a file).
  • It facilitates character encoding and makes reading text from files easier.

StreamWriter:

  • A text writer that writes characters to a stream, much like a file, is represented by a stream writer.
  •  It facilitates character encoding and makes writing text to files easier.

StreamReader

  • You can read text from a stream and a file using the class StreamReader.
  • You can read text from memory streams, network connections, and also file-based sources.
  • Consider  an example  if it a gadget that allows us to open a book and read the pages one at a time.

Strings are read from streams using the StreamReader class in C#. It derives from the TextReader class. It offers the Read() and ReadLine() functions for reading data from the stream.

Example:

C# StreamReader that reads one line

using System;

using System.IO;

namespace MyNamespace

{

    public class MyStreamReaderExample

    {

        public static void Main(string[] args)

        {

            FileStream fileStream = new FileStream("e:\\output.txt", FileMode.OpenOrCreate);

            StreamReader reader = new StreamReader(fileStream);

            string line = reader.ReadLine();

            Console.WriteLine(line);

            reader.Close();

            fileStream.Close();

        }

    }

}

Output:

It prints the output.txt file content of the first line.

StreamReader and StreamWriter in C#

The "e:" drive's "output.txt" file is opened by the program using the FileStream class's FileMode.OpenOrCreate method. In other words, if the file is already exists, it can be opened for reading; otherwise, it will be created.

  • The file's contents were read using the Stream Reader class. It also reads from the "output.txt" file because the FileStream object was uses when it was initialized.
  • Using the ReadLine() method, the program reads the first line of the file and puts it in the line variable.

Note: The program will not print anything in to the console if the file is empty.

Example:

C# StreamReader that reads all lines

using System;

using System.IO;

namespace MyNamespace

{

    public class MyStreamReaderExample

    {

        public static void Main(string[] args)

        {

            FileStream fileStream = new FileStream(filePath, FileMode.OpenOrCreate);

            StreamReader reader = new StreamReader(fileStream);

            string currentLine = "";

            while ((currentLine = reader.ReadLine()) != null)

            {

                Console.WriteLine(currentLine);

            }

            reader.Close();

            fileStream.Close();

        }

    }

}

Output:

It will print all the lines in the output.

StreamReader and StreamWriter in C#
  • File and sets its mode to FileMode using the FileStream class.OpenOrCreate. This mode guarantees that the file will be creates if it doesn't already exist and will be opened for reading.
  • The FileStream object is then initialized using the StreamReader class so it may read the file's contents.

Stream Writer

  • You can write data to a stream or a file using the C# class StreamWriter.
  • It facilitates writing text to locations such as files or network connections.
  • Think of it as a tool that lets your record ideas on paper and in a document.
  • It can be use to write lines, characters, and content in to the new file.

Characters are written to a stream with a given encoding using the C# StreamWriter class. It comes from the class TextWriter. It has overloaded write() and write () functions for writing data into files.

Example of C# StreamWriter

StreamWriter class example that writes one line of data to a file.

using System;

using System.IO;

namespace MyNamespace

{

    public class MyStreamWriterExample

    {

        public static void Main(string[] args)

        {           

            string filePath = "D:\output.txt";

            FileStream fileStream = new FileStream(filePath, FileMode.Create);

            StreamWriter writer = new StreamWriter(fileStream);

            writer.WriteLine("This is my modified StreamWriter example.");

            writer.Close();

            fileStream.Close();

            Console.WriteLine("File created successfully...");

        }

    }

}

Output:

StreamReader and StreamWriter in C#

After rewriting the ”This is my modified StreamWriter example“ in a specific location, By setting its mode to FileMode, the FileStream class opens a file. Create. With this mode, the file will be creates if it doesn't already exist and truncated.

  • The FileStream object is then uses to initialize the StreamWriter class, enabling it to write data to the file.
  • The WriteLine() method of the StreamWriter is used to write this content StreamWriter sample into the file.
  • The string is written using the WriteLine() method, followed by a newline character as the line terminator.

While StreamWriter is used to write data, writing down your thoughts into the paper StreamReader is used to read data, like reading a book. These classes are helpful for file input and output operations and reading and writing text data in C# applications.