Library code snippets

Reading a file using the FileSystemObject

The FileSystemObject makes it easy for ASP programmers to perform file and folder operations such as reading a file. First, we need to create an instance of the FileSystemObject:

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Next, you can check to see if the file exists, using the FileExists method:

If objFSO.FileExists("C:\inetpub\wwwroot\mysite\thefile.txt") Then
    'file exists
End If

Note that we have provided a full path for the FileExists item. If you want to reference a file relative to your script, then you need to use the Server.MapPath method. For example, to check if the file above exists from a script in C:\inetpub\wwwroot\mysite\, you can use

If objFSO.FileExists(Server.MapPath("thefile.txt")) Then
    'file exists
End If

Next, we can go about accessing the file. We do this by calling the OpenTextFile method, which returns a TextStream object:

Dim objTextStream
Set objTextStream = objFSO.OpenTextFile(Server.MapPath("thefile.txt"),1)

Note that the 1 is the value of the fsoForReading constant. The objTextStream has a number of methods of interest to us. Read(characters) reads the specified number of characters from the file. ReadLine returns the contents of a line as a string. If either of these 2 methods again, it will read them from the place you left off. There is also a ReadAll function, which returns the entire contents of the file at once:

Response.Write "Contents of the file:<br>" & objTextStream.ReadAll

So, putting all the code together, we get

Dim objFSO, objTextStream
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(Server.MapPath("thefile.txt")) Then
    'file exists
    Set objTextStream = objFSO.OpenTextFile(Server.MapPath("thefile.txt"),1)
    'output the contents of the file
    Response.Write "Contents of the file:<br>" & objTextStream.ReadAll
    'tidy up
    objTextStream.Close
    Set objTextStream = Nothing
End If


'clean up FSO object
Set objFSO = Nothing

Comments

  1. 01 Jan 1999 at 00:00

    This thread is for discussions of Reading a file using the FileSystemObject.

Leave a comment

Sign in or Join us (it's free).

AddThis

Related discussion

Related podcasts

  • ASP.NET Caching and Performance

    Steve Smith, owner of ASP Alliance and Lake Quincy Media joins us today to teach us about some hidden gems in ASP.NET caching and performance. Steve’s expertise in this area comes from first-hand experience as Lake Quincy’s ad system serves over 60 requests per second and handles over 150 million...

Related jobs