EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

C# System.IO

By Swati TawdeSwati Tawde

Home » Software Development » Software Development Tutorials » C# Tutorial » C# System.IO

C# System.IO

Introduction to C# System.IO

C# System.IO is a namespace that stands for Input and output. In other words, we can say that C# takes input from the user and then performs the appropriate action to generate the output. i.e. C# System.IO simply processes the input and generates the output. C# System.IO namespace consists of various classes, delegates, structures, and enumerations. These classes are used to write or read the data from files and data streams.
In this tutorial, to understand the C# namespace in detail, we are going to discuss its classes, delegates, structures, and enumerations.

C# System.IO Classes

Below is the list of various classes supported by C# System.IO namespace

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  • BinaryReader: This class is used to read the primitive data types in binary format.
  • BinaryWriter: This class is used to write the primitive data types in binary format to streams.
  • File: This class provides various methods to be performed on file like create, delete, copy, rename, move, etc.
  • FileInfo: This class is used to provide information about the file like properties and methods for creating, deleting, copying, and opening files.
  • FileFormatException: This class is used to handle the format exception.
  • FileNotFoundException: This class is used to handle the not found exception.
  • FileLoadException: This class is used to handle the load exception.
  • FileSystemInfo: This class is used to show information about the system by providing a base class for FileInfo and DirectoryInfo objects.
  • FileStream: This class provides a stream for the file. It supports both synchronous and asynchronous read write operations.
  • FileSystemEventArgs: This class is used to provide the data for directory events.
  • FileSystemWatcher: This class is used to raise the event when changes in the file or directory occur.
  • Directory: This is a sealed class that represents a static method for creating, enumerating, and deleting through a directory and their subdirectories.
  • DirectoryInfo: This is a sealed class that represents instance methods for creating, enumerating, and deleting through a directory and their subdirectories.
  • DirectoryNotFoundException: This class is used to raise an exception when a file or directory cannot be found.
  • DriveInfo: This class is used to access the drive information.
  • DriveNotFoundException: This class is used to raise the exception when the drive cannot ve found.
  • BufferedStream: This is a sealed class used to add buffering in read and write operations.
  • EndOfStreamException: This class is used to raise the exception when the end of the stream cannot be found.
  • IOException: This class is used to raise the exception when the input/output error occurred.
  • InvalidDataException: This class is used to raise the exception when valid data cannot be found.
  • InternalBufferOverflowException: This class is used to handle internal buffer overflow exception.
  • MemoryStream: This class is used to create a stream whose backing store is memory.
  • Stream: This is an abstract class used to provide a stream of bytes.
  • StreamReader: This class is used to read the character from bye stream by inheriting the TextReader class.
  • TextReader: This class is used to read the characters sequentially.
  • TextWriter: This class is used to the writer the character in a sequential manner.
  • StringReader: This class is used to read the data from string by inheriting the TextReader class.
  • StringWriter: This class is used to write the data to a string by inheriting the TextWriter class.
  • Path: This class is used to operate on a string that contains the path information about files or directories.
  • PipeException: This class is used to hand the exception related to a pipe.
  • PathTooLongException: This class is used to raise the exception when the path of a file or directory is too long.
  • UnmanagedMemoryStream: This class is used to access the unmanaged blocks of memory from managed code
  • UnmanagedMemoryAccessor: This class is used to provide random access to the unmanaged blocks of memory from managed code.

Delegates and Structures

Below is the list of delegates and Structures supported by C# System.IO namespace.

C# System.IO Delegates

  • ErrorEventHandler: It is used to define a method that controls the error event created by the FileSystemWatcher object.
  • RenamedEventHandler: It is used to define a method that controls the renamed event created by the FileSyatemWather class.
  • FileSystemEventHandler: It is used to define a method that controls created, changed, or deleted events create by the FileStreamWatcher class.

C# System.IO Structures

  • WaitForChangedResult: It is used to show the details on the changes that occurred in the file.

C# System.IO Enumeration

Below is the list of various enumeration supported by C# System.IO namespace

  • FileAccess: It is used to declare the constant to restrict the file access like read, write, open, etc
  • FileMode: It is used to define the file mode, i.e. how the operating system will open the specific file.
  • FileOptions: It is used to represent various options to create the object for FileStream.
  • FileAttributes: It is used to provide attributes for file and their directories.
  • FileShare: It is used to control the kind of access other file stream objects can have to the same file.
  • SearchOption: It enables the search options to search the current directory and subdirectories.
  • DriveType: It is used to declare the constants for drive types such as network, CDRom, etc.
  • HandleInheritability: It is used to specify whether the child process can inherit an underlying handle.
  • SeekOrigin
  • NotifyFilters: It is used to notify the changes to a file or folder.

Recommended Articles

This is a guide to C# System.IO. Here we also discuss the Introduction and various enumeration and delegates classes supported by the C# system. You may also have a look at the following articles to learn more –

  1. C# StringWriter
  2. C# StringReader
  3. Generics in C#
  4. C# Create JSON Object

C# Training Program (6 Courses, 17 Projects)

6 Online Courses

17 Hands-on Project

89+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C sharp Tutorial
  • Advanced
    • Inheritance in C#
    • Exception Handling in C#
    • Types of Exception in C#
    • C# FileNotFoundException
    • C# NullReferenceException
    • C# OutOfMemoryException
    • C# StackOverflowException
    • Custom Exception in C#
    • What is Multithreading in C#
    • C# finally
    • C# System.IO
    • What is StringBuilder in C#
    • DataReader C#
    • BinaryWriter in C#
    • C# BinaryReader
    • TextWriter in C#
    • TextReader in C#
    • C# StringReader
    • C# StringWriter
    • C# StreamReader
    • C# StreamWriter
    • C# FileInfo
    • What is Design Pattern in C#?
    • Multithreading in C#
    • Sorting in C#
    • Bubble Sort in C#
    • C# SortedList
    • C# SortedSet
    • C# SortedDictionary
    • Abstract Class in C#
    • Access Modifiers in C#
    • C# Generics
    • Deserialization in C#
    • C# Thread
    • C# Thread Join
    • C# Thread Sleep
    • C# Thread Synchronization
    • C# Class
    • Sealed in C#
    • Sealed Class in C#
    • Polymorphism in C#
    • C# Call By Reference
    • Virtual Keyword in C# 
    • Yield Keyword in C#
    • Regular Expression in C#
    • C# Lambda Expression
    • C# Predicate
    • Convert Object to JSON C#
    • Checkbox in C#
    • C# MessageBox
    • Collections in C#
    • List in C#
    • C# LinkedList
    • Listbox in C#
    • Protected in C#
    • C# EventHandler
    • Private in C#
    • this Keyword in C#
    • Static Keyword in C#
    • C# Out Parameter
    • Assert in C#
    • C# Delegates
    • C# Interface
    • Generics in C#
    • Timer in C#
    • C# Serialization
    • Metadata in C#
    • C# Stack
    • C# Using Static
    • Queue in C#
    • C# File.Exists
    • C# Tuples
    • C# Create JSON Object
    • Partial in C#
    • C# readonly
    • C# Action Delegate
    • C# Await Async
    • C# Dictionary
    • IEnumerable C#
    • C# Data Grid View
    • C# Dynamic
    • Web Services in C#
    • C# Pattern Matching
    • C# Extension Methods
    • C# XmlSerializer
  • Basic
    • Uses Of C#
    • C# Versions
    • C# Data Types
    • Variables in C#
    • Namespaces in C#
    • C# Compilers
    • C# Keywords
    • Iterators in C#
    • Objects in C#
    • C# Object Dispose
    • C# object to XML
    • C# check object type
    • C# Object Serialization
    • Pointers in C#
    • C# Literals
    • C# Commands
    • C# Custom Attribute
    • Type Casting in C#
    • String vs String C#
    • C# Struct vs Class
  • Operators
    • Logical Operators in C#
    • Conditional Operators in C#
    • Bitwise Operators in C#
    • C# OR Operator
    • C# Ternary Operators
    • Operator Precedence in C#
  • Control Statement
    • C# if Statement
    • Else If in C#
    • Continue in C#
    • Break in C#
    • Switch Statement in C#
    • Goto Statement in C#
  • Loops
    • C# For Loop
    • C# While Loop
    • C# do-while loop
    • C# foreach Loop
  • Arrays
    • Arrays in C#
    • 2D Arrays in C#
    • C# Jagged Arrays
    • String Array in C#
    • C# Multidimensional Arrays
  • Constructor and Destructor
    • Constructor in C#
    • Copy Constructor in C#
    • Static Constructor in C#
    • Destructor in C#
  • overloading and overrideing
    • Overloading and Overriding in C#
    • Overloading in C#
    • Overriding in C#
    • Method Overloading in C#
    • Method Overriding in C#
    • Operator Overloading in C#
  • Functions
    • C# Functions
    • C# String Functions
    • Math Functions in C#
    • Recursive Function in C#
    • C# Anonymous Functions
    • C# Local Functions
    • Enum in C#
    • Trim() in C#
    • clone() in C#
    • C# random
    • C# String Format()
    • C# String Interpolation
    • C# StartsWith()
    • C# String IndexOf()
    • DateTime in C#
    • C# Nullable
    • C# nameof
    • C# checked
    • C# String PadLeft
    • Convert String to Double in C#
    • Convert int to String C#
    • String to Date C#
    • C# intern()
    • C# Stopwatch
    • C# DirectoryInfo
    • C# Compare()
    • C# Base
    • C# SOAP
    • Lock in C#
  • Programs
    • Patterns in C#
    • Swapping in C#
    • Palindrome in C#
    • Factorial in C#
    • Fibonacci Series in C#
    • Random Number Generator in C#
    • Prime Numbers in C#
    • Armstrong Number in C#
    • Reverse String in C#
  • Interview questions
    • C# Interview Questions and Answers
    • C# OOP Interview Questions
    • C# Design Pattern Interview Questions

Related Courses

C# Certification Training

ASP.NET Course

.NET Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C# Training Program (6 Courses, 17 Projects) Learn More