File Handling
CFML allows you to manipulate, read, upload, etc files via its built in methods which are great and easy to use. It can even help you manipulate zip/jar archives! We won't go into every single detail of file handling, but below you can find the majority of functions to deal with file handling.
You can find the file system functions here: https://cfdocs.org/filesystem-functions.
DirectoryCopy Copies the contents of a directory to a destination directory.
DirectoryCreate Creates new directory for specified path
DirectoryDelete Deltes directory for given path
DirectoryExists Determines whether a directory exists.
DirectoryList Lists the directory and returns the list of files under it as array or query
DirectoryRename Renames given directory
ExpandPath Creates an absolute, platform-appropriate path that is equivalent to the value of relative_path, appended to the base path. This function (despite its name) can accept an absolute or relative path in the relative_path attribute
FileAppend appends the entire content to the specified file.
FileClose Closes an file that is open.
FileCopy Copies the specified on-disk or in-memory source file to the specified destination file.
FileDelete Deletes the specified file on the server.
FileExists Determines whether a file exists
FileGetMimeType Returns the mimetype of the given file
FileInfo returns detailed info about the given file.
FileIsEOF Determines whether Lucee has reached the end of the file while reading it.
FileMove Moves file from source to destination
FileOpen Opens an file to read, write, or append.
FileRead Reads an on-disk or in-memory text file or a file object created with the FileOpen function.
FileReadLine Reads a line from an file.
FileSeek Shifts the file pointer to the given position. The file must be opened with seekable option
FileSetAccessMode Sets the attributes of an on-disk file on UNIX or Linux. This function does not work with in-memory files.
FileSetAttribute For the given path, sets the file attributes.
FileSetLastModified For the given file, set the last modification date
FileSkipBytes Shifts the file pointer by the given number of bytes.
FileTouch Touches given file, creates the file if not already exists.
FileUpload Uploads file to a directory on the server.
FileUploadAll Uploads file to a directory on the server.
FileWrite If you specify a file path, writes the entire content to the specified file. If you specify a file object, writes text or binary data to the file object.
FileWriteLine Opens up the file (or uses the existing file object) and appends the given line of text
GetFileInfo Retrieves information about file.
GetFreeSpace Returns the number of unallocated bytes in the partition named by this abstract path name.
GetTempDirectory Returns the full path to the currently assigned temporary directory
GetTempFile Creates a temporary file in a directory whose name starts with (at most) the first three characters of prefix.
ImageWrite Writes a image to the specified filename or destination.
Dealing With Large Files
If you want to read or manipulate large files we would recommend that you leverage our cbStreams library or native Java file streaming. Below you can find some sample usage of reading large files with cbStreams which implements the Java Streams API.
Last updated