When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML
Information:
Advertise
Feedback
Author an Article
Jobs
















internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this Page!

NET Developer
Professional Technical Resources
US-WA-Seattle

Justtechjobs.com Post A Job | Post A Resume

Published: Wednesday, July 23, 2003

Reading and Writing Text Files with the .NET Framework, Part 2
By Scott Mitchell


  • Read Part 1

  • In Part 1 we talked briefly about streams, and the role they play in reading and writing to files using the .NET Framework. We also saw how to read the contents from a text file. In this final part, we'll examine how to write to a text file.

    - continued -

    Writing to a Text File
    The File class provides two methods for writing to text files: CreateText() and AppendText(), both of which take the physical path to a file as its sole argument. As their names suggest, CreateText() is used for creating new files while AppendText() is useful for appending content to existing files. That is, if the file that you pass into the CreateText() function already exists, the file will be overwritten. With AppendText() if the file exists, the contents will be appended to the end of this existing file's contents.

    Both methods return a StreamWriter object. The StreamWriter has two very useful methods for writing content to a file:

    • Write(stuff to write)
    • WriteLine(stuff to write)

    Both methods have a number of overloaded versions, meaning that you can pass in a string, a character, a number, or whatever, into either of these methods. The difference between the two, as their name makes clear, is that WriteLine() adds an end-of-line character after the input provided.

    The following source code demonstrates how to append some output to an existing file. As with reading the file, be certain to Close() the stream when you are done writing the file.

    <%@ Import Namespace="System.IO" %>
    <script language="vb" runat="server">
      sub Page_Load(sender as Object, e as EventArgs)
        'Open a file for writing
        Dim FILENAME as String = Server.MapPath("Output.txt")
    
        'Get a StreamReader class that can be used to read the file
        Dim objStreamWriter as StreamWriter
        objStreamWriter = File.AppendText(FILENAME)
    
        'Append the the end of the string, "A user viewed this demo at: "
        'followed by the current date and time
        objStreamWriter.WriteLine("A user viewed this demo at: " & DateTime.Now.ToString())
        
        'Close the stream
        objStreamWriter.Close()
        
        'Read the file, displaying its contents
    
        'Get a StreamReader class that can be used to read the file
        Dim objStreamReader as StreamReader
        objStreamReader = File.OpenText(FILENAME)
    
        'Now, read the entire file into a string
        Dim contents as String = objStreamReader.ReadToEnd()
    
        'We may wish to replace carraige returns with <br>s
        lblNicerOutput.Text = contents.Replace(vbCrLf, "<br>")
        
        objStreamReader.Close()
      end sub
    </script>
    
    <asp:label runat="server" id="lblNicerOutput" Font-Name="Verdana" />
    
    [View a Live Demo!]

    The above code is relatively straightforward: it simply appends a string with the current date/time to the file Output.txt. After the writing stream is closed, a stream for reading is opened, and the contents of the file are read and displayed in the Label Web control.

    Conclusion
    In this article we examined how to read and write to text files through an ASP.NET Web page using the appropriate .NET Framework classes. We also discussed what streams are and their utility. When working with files through an ASP.NET Web page, be sure to keep security settings in mind. In order for code from an ASP.NET Web page to be able to muck with files, the ASPNET user account must have the appropriate permissions on the directory/files being tinkered with.

    Happy Programming!

  • By Scott Mitchell


    Windows Internet Technology | ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article



  • JupiterOnlineMedia

    internet.comearthweb.comDevx.commediabistro.comGraphics.com

    Search:

    Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

    Jupitermedia Corporate Info


    Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

    Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers