The System.IO Namespace
The System.IO namespace contains classes that allow you to read and write
files on disk. File operations can be performed either synchronously or
asynchronously. In order to read and write data, you'll work with the base
Stream class, which provides a generic technique to access any data without
regard to the underlying platform on which the data resides. Streams can
support any combination of reading, writing, and seeking (that is,
modifying the current position within a stream). Table 4.3 presents a list
of some of the more commonly used classes from the System.IO namespace.
Table 4.3. System.IO Classes Class Description
File The File class provides shared methods that allow you to perform
actions on physical files on disk.
StreamReader The StreamReader class allows you to open and read
information from a file on disk.
StreamWriter The StreamWriter class allows you to write to files on disk.
A File object represents a physical file and allows you to perform actions
such as copying and deleting files. The File class provides Exists, Open,
OpenRead, OpenText, and OpenWrite methods to allow you to perform file I/O.
These methods of the File class are defined as Shared, which means you do
not need to create an instance of a File class to use them. You will learn
more about shared methods in Chapter 7, "Working with ASP.NET and VB .NET."
The two classes you will use most often from the System.IO namespace are
StreamReader and StreamWriter, and you'll learn about these two classes in
the following example.
A System.IO Example
The code in Listing 4.1, located under the "IO Classes" hyperlink on
Main.aspx, uses a StreamWriter object to create a new text file on disk.
The code uses the shared Exists method of the File class to determine
whether a file exists on disk. (Although it's perfectly reasonable, and
possible, for code to overwrite an existing file, this example doesn't do
that.) If the file does not exist, the example creates a new StreamWriter
object by invoking the CreateText shared method of the File class. This
method creates the file and returns a StreamWriter object that can be used
to write information into the file. Once the file is opened, the example
uses the WriteLine method to place text into the file on disk. When done
using the file, the example closes it to release the handle back to the
operating system. Here's the code:
Listing 4.1 Writing to a File Using the Stream and File Objects
Imports System.IO
Private Sub WriteFile()
Dim strName As String
Dim sw As StreamWriter
strName = Server.MapPath("Test.txt")
If File.Exists(strName) Then
lblError.Text = "File Already Exists"
Else
sw = File.CreateText(strName)
sw.WriteLine("The current Time is: " & Now())
sw.Close()
End If
End Sub