This program just demonstrates the use of FileStream & StreamReader. The program takes 1 parameter from the user; i.e., the file to read.
using System;
using System.IO;
class FileRead {
string filereadbuf; // buffer to store the content of file
public void ReadFile(string FileName, int FileSize) {
char[] buf = newchar[FileSize]; // lets define an array of type char field (i.e. variable) buf
// for more help please see .net sdk
StreamReader sr = new StreamReader(new FileStream(FileName, FileMode.Open, FileAccess.Read));
int retval = sr.ReadBlock(buf, 0, FileSize); // no. of bytes read
Console.Write("Total Bytes Read = " + retval + "\n");
filereadbuf = newstring(buf); // store it in our field
Console.WriteLine(filereadbuf); // lets print on screen
sr.Close();
}
}
class TestFileRead {
public static void Main(string[] args) {
String[] cmdline = Environment.GetCommandLineArgs(); // Get the command line parameter
Console.WriteLine("File Reader Using Stream Reader & File Stream \n");
if (cmdline.Length < 2) // If no parameter is given will show user the usage
{
Console.WriteLine("Usage: " + cmdline[0] + " <input file> ");
return;
}
// Using Directory Class & using a Method GetFiles we get file list from the current directory
// return value is array of files please see .net sdk documentation for more help.
File[] fe = (new Directory(".")).GetFiles(cmdline[1]);
if (fe.Length == 0) {
Console.WriteLine(cmdline[1] + ": file not found"); // if not found display a message to user
return;
}
FileRead fr = new FileRead();
try {
fr.ReadFile(cmdline[1], (int) fe[0].Length); // sends 2 parameter filename & length
} catch (IOException e) {
Console.WriteLine("I/O error occured" + e);
return;
}
} // Close brace of Main
} // close brace of TestFileRead
I would like to give thanks to Saurabh for his expert help, Mahesh for loading my code on his site (it rocks) and thanks to you too for reading it -- you know who you are.
If you have any comments or doubts or find something terriblly wrong , please feel free to e-mail me !