Stream I/O Operation - Part I

Description:

About Classes used -

#1: StreamReader class provides an access to read the data from Stream such as Text File.

#2: StreamWriter class provides an access to write the data from Stream such as Text File.

Namespace Required - System.IO, System.Diagnostics

Controls Used-          

            1. TextBox Control (txtInput, txtOutput)

          2. Button Control (btnSelect, btnCreatePDF)

Here I implemented the Code for copying and appending Text Document to another Text Document.

The Code:

1. Variable Declarations

StreamReader rdr;   //StreamReader Object for Reading File
StreamWriter wrt;   //StreamWriter Object for Writing File

Listing 1

2. Select the Text Input & Output File (code both for “Select” Button).         

//Select File with OpenFileDialog Box
String SelectFile(TextBox t)
{
    using (OpenFileDialog file = new OpenFileDialog())
    {
        file.Filter = "Only Text Documents|*.txt";
        //Show the Dialog Box & Select the File
        file.ShowDialog();
        //Return the selected File Name as String
        return file.FileName;
    }
}

Listing 2

 3. Copy Data from one to another Text File (code for “Copy All” Button).

//Input File
rdr = new StreamReader(txtInput.Text);
//Output File
wrt = new StreamWriter(txtOutput.Text, false);
//Copy All Data From Input file to Output file
wrt.Write(rdr.ReadToEnd().ToString());
//Close the StreamWriter instance
wrt.Close();
MessageBox.Show("File Copied Successfully....");
//Open the Output file
Process.Start(txtOutput.Text);

Listing 3

4. Append Data from one to another Text File (code for “Append All” Button).

//Input File
rdr = new StreamReader(txtInput.Text);
//Output File
wrt = new StreamWriter(txtOutput.Text, true);
//Append All Data From Input file to Output file
wrt.WriteLine(Environment.NewLine +
    "--------------- Appended File Start from here ---------------" +  
    Environment.NewLine);
wrt.Write(rdr.ReadToEnd().ToString());
//Close the StreamWriter instance
wrt.Close();
MessageBox.Show("File Appended Successfully....");
//Open the Output file
Process.Start(txtOutput.Text);

Listing 3

5. Now execute the Application and see the result (Figure 1).

Intended Result:

New Picture.png

Figure 1

Summary:

In this piece of writing, using C# environment, we have seen basic stream input/output operation for copying & appending text files using StreamWriter & StreamReader classes.