File Handling in C#
Review
C# Simplified \ Session 7 \ 2 of 44
Objectives
C# Simplified \ Session 7 \ 3 of 44
C# Simplified \ Session 7 \ 4 of 44
BinaryReader and
BinaryWriter
C# Simplified \ Session 7 \ 5 of 44
BinaryReader Class
Methods
Description
Close()
Read()
ReadDecimal
()
ReadByte()
BinaryWriter Class
C# Simplified \ Session 7 \ 7 of 44
BinaryReader and
BinaryWriter - Example
using System;
using System.IO;
class BinaryDemo
{
private const string fname = "Binary.data";
public static void Main(String[] args)
{
//check if file already exists
if (File.Exists(fname))
{
Console.WriteLine("{0} already exists!", fname);
return;
}
// if not existing then create a new empty data file.
FileStream fs = new FileStream(fname,
FileMode.CreateNew);
C# Simplified \ Session 7 \ 8 of 44
BinaryReader and
BinaryWriter - Example
// Create the writer for data.
BinaryWriter w = new BinaryWriter(fs);
for (int i = 0; i < 11; i++)
{
w.Write( (int) i);
}
Console.WriteLine ("Data has been written to the file!");
w.Close();
fs.Close();
// Create the reader for data.
fs = new FileStream(fname, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
Console.WriteLine("The data file contents are:");
C# Simplified \ Session 7 \ 9 of 44
BinaryReader and
BinaryWriter Example
// Read data from the data file.
for (int i = 0; i < 11; i++)
{
Console.WriteLine(r.ReadInt32());
}
w.Close();
}
}
C# Simplified \ Session 7 \ 10 of 4
Stream Class
C# Simplified \ Session 7 \ 11 of 4
MemoryStream class
Description
Read()
ReadByte()
Write()
WriteByte()
WriteTo()
C# Simplified \ Session 7 \ 12 of 4
BufferedStream Class
C# Simplified \ Session 7 \ 13 of 4
C# Simplified \ Session 7 \ 14 of 4
C# Simplified \ Session 7 \ 15 of 4
FileStream Class
C# Simplified \ Session 7 \ 16 of 4
FileStream Class
Constructors
Constructors
Description
C# Simplified \ Session 7 \ 17 of 4
FileMode
Enumerators
Read
Write
Append
ReadWrite
Create
CreateNew
Open
OpenOrCreate
Truncate
FileAccess
Enumerators
FileShare Enumerators
None
Read
Write
ReadWrite
C# Simplified \ Session 7 \ 18 of 4
C# Simplified \ Session 7 \ 19 of 4
C# Simplified \ Session 7 \ 20 of 4
NetworkStream class
C# Simplified \ Session 7 \ 21 of 4
CryptoStream Class
C# Simplified \ Session 7 \ 22 of 4
C# Simplified \ Session 7 \ 23 of 4
C# Simplified \ Session 7 \ 24 of 4
C# Simplified \ Session 7 \ 25 of 4
C# Simplified \ Session 7 \ 26 of 4
Description
Copy(string
SourceFilePath, string
DestinationFilePath);
Create(string FilePath)
Delete(string FilePath)
Exists(string FilePath)
Move(string
SourceFilePath, string
DestinationFilePath)
C# Simplified \ Session 7 \ 27 of 4
using System;
using System.IO;
class DirectoryDemo
{
static void Main(string[] args)
{
Directory.CreateDirectory ("Testdir");
File.Copy ("D:\\abc.txt", "Testdir\\abc.txt");
Console.WriteLine("File Content Copied");
}
}
C# Simplified \ Session 7 \ 28 of 4
FileSystemInfo class
C# Simplified \ Session 7 \ 29 of 4
Description
FullName
Parent
Root
Methods
Description
Create()
CreateSubdirectory(strin
g directorypath)
MoveTo(string
destinationpath)
C# Simplified \ Session 7 \ 30 of 4
Extension
Methods
Description
CopyTo(string
destinationfile)
Create()
Delete()
OpenWrite()
OpenRead()
C# Simplified \ Session 7 \ 31 of 4
TextReader class
C# Simplified \ Session 7 \ 32 of 4
Methods of StreamReader
class
Methods
Description
Read()
ReadLine()
ReadToEnd()
C# Simplified \ Session 7 \ 33 of 4
Example of StreamReader
class
using System;
using System.IO;
public class TextDemo
{
static string ans="y";
public static void Main(String[] args)
{
Console.WriteLine("1. Read File ");
Console.WriteLine("2. Read String ");
Reading();
}
static void Reading()
{
try
{
if(ans=="y" || ans=="Y")
{
C# Simplified \ Session 7 \ 34 of 4
Example of StreamReader
class Contd
Console.Write ("Enter Your Choice [1/2]: ");
int choice=Convert.ToInt32(Console.ReadLine());
If (choice==1)
{
Console.WriteLine ("Enter the file name: ");
string Filename = Console.ReadLine();
if (!File.Exists(Filename))
{
Console.WriteLine("{0} does not exist! ,Filename);
return;
}
StreamReader sr = File.OpenText(Filename);
String input;
Console.WriteLine("The contents of the file are: \n");
C# Simplified \ Session 7 \ 35 of 4
Example of StreamReader
class Contd
while ((input= sr.ReadLine())!=null)
{
Console.WriteLine (input);
}
Console.WriteLine ("The end of the stream is reached.");
sr.Close();
Console.Write( "Do you want to continue [Y/N]:");
ans= Console.ReadLine();
Reading();
}
else if (choice==2)
{
Console.Write ("Enter a string: ");
String str = Console.ReadLine();
char[] b = new char [str.Length];
C# Simplified \ Session 7 \ 36 of 4
Example of StreamReader
class Contd
StringReader sr = new StringReader (str);
sr.Read(b, 0, str.Length);
Console.WriteLine (b);
Console.Write ("Do you want to continue [Y/N]:");
ans= Console.ReadLine();
Reading();
}
else
{
Console.WriteLine ("Enter either 1 or 2 as your
choice");
}
}
}
C# Simplified \ Session 7 \ 37 of 4
Example of StreamReader
class Contd
catch(Exception e)
{
Console.WriteLine (e.StackTrace);
Console.WriteLine (e.Message);
}
}
}
C# Simplified \ Session 7 \ 38 of 4
TextWriter class
Write()
WriteLine()
C# Simplified \ Session 7 \ 39 of 4
Methods of StreamWriter
Method
Description
Write()
WriteLine()
C# Simplified \ Session 7 \ 40 of 4
Example of StreamWriter
class
using System;
using System.IO;
using System.Text;
public class Writer
{
static string ans="y";
public static void Main(String[] args)
{
Writing();
}
static void Writing()
{
if (ans=="y" || ans=="Y")
{
Console.Write ("Enter the file name: ");
string Filename = Console.ReadLine();
C# Simplified \ Session 7 \ 41 of 4
Output - StreamWriter
if (!File.Exists(Filename))
{
Console.WriteLine("{0} does not exist!",Filename);
return;
}
StreamWriter sr = File.AppendText(Filename);
Console.Write ("Enter a string to be
written to the file: ");
String str = Console.ReadLine();
sr.WriteLine(str);
sr.Close();
Console.Write ("Do you want to continue [Y/N]: ");
ans= Console.ReadLine();
Writing();
}
}
}
C# Simplified \ Session 7 \ 42 of 4
Summary
C# Simplified \ Session 7 \ 43 of 4
Summary Contd
C# Simplified \ Session 7 \ 44 of 4