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 Info
Information:
Advertise
Feedback
Author an Article
Technology 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.

Windows Systems Administrator
Jupitermedia
US-CT-Darien

Justtechjobs.com Post A Job | Post A Resume

Using the FileSystemObject to Read Text Files


In the previous FAQ, we discussed that the general purpose of the FileSystemObject (FSO) is to allow access to the host computer's file system. One common function when dealing with a computer's file system, is reading the contents of a file. FSO provides a TextStream object that is useful for reading and writing the contents of a text file. In this FAQ, we will discuss how to use the TextStream object to read the contents of a file.

When using the TextStream object or other FSO objects, you need to first declare an instance of the FileSystemObject. For our script, let's start by creating an instance of the FileSystemObject:

'Create an instance of the FileSystemObject object
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Before we open a file, we should always test to make sure it exists. The FileSystemObject provides a useful function to determine whether or not a file exists, aptly named FileExists. The syntax for FileExists is:

FileSystemObjectInstance.FileExists(FullFilePath)

So, in this example, we want to output the contents of the text file D:\scott\resume.txt. Before we open our file, we will make sure that it exists.

Earlier I mentioned that the TextStream object is responsible for reading and writing to the contents of a text file. A TextStream object instance is used to iterate through the contents of a particular text file. So, before we can use a TextStream, we must inform the TextStream object instance what text file we are interested in. This is accomplished using the FileSystemObject's OpenTextFile method. The OpenTextFile method has the following syntax:

FileSystemObjectInstance.OpenTextFile(FullFilePath[, iomode])

Note: there are two more parameters, but we are only interested in these first two for the time being. If you are interested in the full specifications, read this.

The optional iomode parameter decides what IO mode the file is opened with. The following values can be used:

iomode Values
ForReading1
ForWriting2
ForAppending8

These constants are not defined in a text file like the ADO constants are defined in ADOVBS.inc. Therefore, you should define the constant you wish to use. For example, if I use the ForReading constant, you will see ASP code like:

Const fsoForReading = 1

The OpenTextFile method returns a TextStream object instance. So, to set a variable to a TextStream object instance for reading the contents of a particular file, you would use the following syntax:

'Assumes a FileSystemObject instance named objFSO exists Const fsoForReading = 1
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("C:\SomeFile.txt", fsoForReading)

The TextStream object has the following important methods for reading text files:

  • Read(characters) - Reads a specified number of characters from the text file, returning a resulting string.
  • ReadLine - Reads an entire line up to, but not including, the new line character. The results are returned as a string.
  • ReadAll - Reads the entire contents of the file, returning the results as a string.

Finally, the TextStream object has a Close method, which should be used when you have finished reading from the file.

Now, let's look at how we could read the entire contents of a text file, D:\scott\resume.txt. We will use the FileExists method first, to make sure that the file does indeed exist. If it does, we'll output the contents of the file; if it doesn't, we'll display an appropriate message.

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

Dim objTextStream

const strFileName = "D:\scott\resume.txt"
const fsoForReading = 1

If objFSO.FileExists("D:\scott\resume.txt") then
	'The file exists, so open it and output its contents
	Set objTextStream = objFSO.OpenTextFile(strFileName, fsoForReading)
	Response.Write "
" & objTextStream.ReadAll & "
" objTextStream.Close Set objTextStream = Nothing Else 'The file did not exist Response.Write strFileName & " was not found." End If 'Clean up Set objFSO = Nothing

Well, there you have it, reading the contents of a text file using the FileSystemObject and TextStream objects. A closing note: whenever you use objects, you should always do Set Object = Nothing when you are done using them.

In our next FAQ, we will discuss how to write to text files using the FileSystemObject and TextStream objects.

Happy Programming!

FAQ Table of Contents   What is the FileSystemObject? Using the FileSystemObject to Write to Text Files 


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

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES