Construct StreamWriter from FileSream

image_pdfimage_print
   
 

using System;
using System.IO;

public class IOExample
{
  static void Main() {   
    FileStream fs;
    StreamWriter sw;


    try {
      fs = new FileStream("practice.txt", FileMode.Open );
      sw = new StreamWriter(fs);

      // write a line to the file
      string newLine = "Not so different from you and me";
      sw.WriteLine(newLine);

      // close the streams
      sw.Close();
      fs.Close();
    } catch (IOException ioe) {
      Console.WriteLine("IOException occurred: "+ioe.Message);
    }
  }
}

           
         
     


Catch file read exception and retry

image_pdfimage_print

using System;
using System.IO;

class Retry {
static void Main() {
StreamReader sr;

int attempts = 0;
int maxAttempts = 3;

GetFile:
Console.Write(”
[Attempt #{0}] Specify file ” + “to open/read: “, attempts + 1);
string fileName = Console.ReadLine();

try {
sr = new StreamReader(fileName);
string s;
while (null != (s = sr.ReadLine())) {
Console.WriteLine(s);
}
sr.Close();
} catch (FileNotFoundException e) {
Console.WriteLine(e.Message);
if (++attempts < maxAttempts) { Console.Write("Do you want to select another file: "); string response = Console.ReadLine(); response = response.ToUpper(); if (response == "Y") goto GetFile; } else { Console.Write("You have exceeded the maximum retry limit ({0})", maxAttempts); } } catch (Exception e) { Console.WriteLine(e.Message); } } } [/csharp]

StreamReader.ReadLine

image_pdfimage_print
   
  
using System;
using System.IO;
public class MainClass {
    public static void Main() {

        FileStream fs2 = File.Create("Bar.txt");

        StreamWriter w2 = new StreamWriter(fs2);
        w2.Write("Goodbye Mars");
        w2.Close();

        fs2 = File.Open("Bar.txt", FileMode.Open, FileAccess.Read, FileShare.None);
        StreamReader r2 = new StreamReader(fs2);
        String t;
        while ((t = r2.ReadLine()) != null) {
            Console.WriteLine(t);
        }
        w2.Close();
        fs2.Close();

    }
}

   
     


Read data in line by line

image_pdfimage_print
   
  
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

class Program {
    static void Main(string[] args) {
        string strLine;

        try {
            FileStream aFile = new FileStream("Log.txt", FileMode.Open);
            StreamReader sr = new StreamReader(aFile);
            strLine = sr.ReadLine();
            while (strLine != null) {
                Console.WriteLine(strLine);
                strLine = sr.ReadLine();
            }
            sr.Close();
        } catch (IOException e) {
            Console.WriteLine("An IO exception has been thrown!");
            Console.WriteLine(e.ToString());
            return;
        }
    }
}

   
     


Reading from a text file line by line

image_pdfimage_print
   
  


using System;
using System.IO;

class MainClass {
    public static void Main(string[] args) {
        try {
            FileStream fs = new FileStream("c:a.txt", FileMode.Open);
            StreamReader sr = new StreamReader(fs);

            string line = "";

            int lineNo = 0;
            do {
                line = sr.ReadLine();
                if (line != null) {
                    Console.WriteLine("{0}: {1}", lineNo, line);
                    lineNo++;
                }
            } while (line != null);
        } catch (Exception e) {
            Console.WriteLine("Exception in ShowFile: {0}", e);
        }
    }
}

   
     


Use StreamWriter to create a text file

image_pdfimage_print

using System;
using System.IO;

public class MyStreamWriterReader {
static void Main(string[] args) {
StreamWriter writer = new StreamWriter(“reminders.txt”);
writer.WriteLine(“…”);
writer.WriteLine(“Don't forget these numbers:”);
for (int i = 0; i < 10; i++) writer.Write(i + " "); writer.Write(writer.NewLine); writer.Close(); StreamReader sr = new StreamReader("reminders.txt"); string input = null; while ((input = sr.ReadLine()) != null) { Console.WriteLine(input); } } } [/csharp]

Demonstrate the use of the Null stream as a bit bucket

image_pdfimage_print

/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
// NullStrm.cs — demonstrate the use of the Null stream as a bit bucket.
//
// Compile this program with the following command line:
// C:>csc NullStrm.cs
//
using System;
using System.IO;
namespace nsStreams
{
public class NullStrm
{
static public void Main ()
{
byte [] b = new byte [256];
int count = Stream.Null.Read (b, 0, b.Length);
Console.WriteLine (“Read {0} bytes”, count);
string str = “Hello, World!”;
StringToByte (out b, str);
Stream.Null.Write (b, 0, b.Length);

// Attach a reader and writer to the Null stream
StreamWriter writer = new StreamWriter (Stream.Null);
StreamReader reader = new StreamReader (Stream.Null);
writer.Write (“This is going nowhere”);
str = reader.ReadToEnd ();
Console.Write (“The string read contains {0} bytes”, str.Length);
}

// Convert a buffer of type string to byte
static void StringToByte (out byte [] b, string str)
{
b = new byte [str.Length];
for (int x = 0; x < str.Length; ++x) { b[x] = (byte) str [x]; } } } } [/csharp]