FileOpen

Description

Opens an on-disk or in-memory file to read, write, or append. Use this function with the FileRead function to read large files.

Returns

A file object that represents the open file.

Function syntax

FileOpen(filepath, [mode, charset])

History

ColdFusion 8: Added this function.

Parameters

Parameter

Description

filepath

An absolute path of an on-disk or in-memory file on the server.

mode

Action to perform on the file, including the following:

  • read

  • readBinary

  • write

  • append

If you do not specify the mode, ColdFusion opens the file in read mode.

charset

The character set of the file.

Usage

The file does not have to exist before you open it. To write a new file, open it for writing, and then write it.

The file object is a handle to a file. You can use the object as a structure to access the following information:

  • filename Name of the file you opened

  • filepath Absolute path and filename

  • lastmodified The time when the file was most recently modified

  • mode The action for which the file was opened

  • size The file size in bytes

  • status Whether the file object is open or closed

The following opens a file, and then displays the absolute path and filename of that file:

<cfscript>  
myfile = FileOpen("c:\temp\test1.txt", "read"); 
</cfscript> 
myfile refers to: 
<cfdump var="#myfile.filepath#">

Use the following syntax to specify an in-memory file, which is not written to disk. In-memory files speed processing of transient data.

ram:///filepath

The filepath can include directories, for example ram:///petStore/images/poodle.jpg. Create the directories in the path before you specify the file. For more information on using in-memory files, see Optimizing transient files in the Developing ColdFusion Applications.

Always close a file after opening it. When you use the FileOpen function to open a file, the file stream from the disk is opened and contents are read from or written to it. The FileClose function closes the stream. If you do not close a file, the stream remains open; in that case, the operating system can lock the file, which results in the file not being usable until the server is restarted.

Example

The following example opens a file, reads and outputs each line of the file, then closes the file.

<h3>FileOpen Example</h3> 
 
<cfscript>  
myfile = FileOpen("c:\temp\test1.txt", "read"); 
while(NOT FileIsEOF(myfile)) 
{ 
x = FileReadLine(myfile); 
WriteOutput("#x# <br>"); } 
FileClose(myfile); 
</cfscript>