Demonstrates opening/creating a file for writing and truncating its length to 0 bytes. : File Read Write : File Stream C# Source Code


Custom Search

C# Source Code » File Stream » File Read Write »

 

Demonstrates opening/creating a file for writing and truncating its length to 0 bytes.









    

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

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
// StrmWrit.cs -- Demonstrates opening/creating a file for writing and truncating
//                its length to 0 bytes.
//                Compile this program with the following command line:
//                    C:>csc StrmWrit.cs
using System;
using System.IO;

namespace nsStreams
{
    public class StrmWrit
    {
        static public void Main ()
        {
            FileStream strm;
// Open or create the file for writing
            try
            {
                strm = new FileStream ("./write.txt", FileMode.OpenOrCreate, FileAccess.Write);
            }
// If the open fails, the constructor will throw an exception.
            catch (Exception e)
            {
                Console.WriteLine (e.Message);
                Console.WriteLine ("Cannot open write.txt for writing");
                return;
            }
// Truncate the file using the SetLength() method.
            strm.SetLength (0);
            Console.WriteLine ("Enter text. Type a blank line to exit\r\n");
// Accept text from the keyboard and write it to the file.
            while (true)
            {
                string str = Console.ReadLine ();
                if (str.Length == 0)
                    break;
                byte [] b; // = new byte [str.Length];
                StringToByte (str, out b);
                strm.Write (b, 0, b.Length);
            }
            Console.WriteLine ("Text written to write.txt");
// Close the stream
            strm.Close ();
        }
//
// Convert a string to a byte array, adding a carriage return/line feed to it
        static protected void StringToByte (string str, out byte [] b)
        {
            b = new byte [str.Length + 2];
            int x;
            for (x = 0; x < str.Length; ++x)
            {
                b[x] = (byte) str[x];
            }
// Add a carriage return/line feed
            b[x] = 13;
            b[x + 1] = 10;
        }
    }
}



           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo File Stream
» File Read Write