Flash Media Server Developer Documentation

File class

The File class lets applications write to the server's file system. This is useful for storing information without using a database server, creating log files for debugging, and tracking usage. Also, a directory listing is useful for building a content list of streams or shared objects without using Flash Remoting.

By default, a script can access files and directories only within the application directory of the hosting application. A server administrator can grant access to additional directories by specifying virtual directory mappings for File object paths. This is done in the FileObject tag in the Application.xml file, as shown in the following example:

<FileObject>
    <VirtualDirectory>/videos;C:\myvideos</VirtualDirectory>
    <VirtualDirectory>/fmsapps;C:\Program Files\fms\applications</VirtualDirectory>
</FileObject>

This example specifies two additional directory mappings in addition to the default application directory. Any path that begins with /videos--for example, /videos/xyz/vacation.flv--maps to c:/myvideos/xyz/vaction.flv. Similarly, /fmsapps/conference maps to c:/Program Files/fms/applications/conference. Any path that does not match a mapping resolves to the default application folder. For example, if c:/myapps/filetest is the application directory, then /streams/hello.flv maps to c:/myapps/filetest/streams/hello.flv.

Note: You can use an Application.xml file at the virtual host level or at the application level. For more information, see Adobe Flash Media Server Configuration and Administration Guide.

In addition, the following rules are enforced by the server:

  • File objects cannot be created by using native file path specification.
  • File object paths must follow the URI convention:

    A slash (/) must be used as the path separator. Access is denied if a path contains a backslash (\), or if a dot (.) or two dots (..) is the only string component found between path separators.

  • Root objects cannot be renamed or deleted.

    For example, if a path using a slash (/) is used to create a File object, the application folder is mapped.

Availability

Flash Media Server 2

Property summary

Property

Description

File.canAppend

Read-only; a boolean value indicating whether a file can be appended (true) or not (false).

File.canRead

Read-only; A boolean value indicating whether a file can be read (true) or not (false).

File.canReplace

Read-only; A boolean value indicating whether a file was opened in "create" mode (true) or not (false). This property is undefined for closed files.

File.canWrite

Read-only; a boolean value indicating whether a file can be written to (true) or not (false).

File.creationTime

Read-only; a Date object containing the time the file was created.

File.exists

Read-only; a boolean value indicating whether the file or directory exists (true) or not (false).

File.isDirectory

Read-only; a boolean value indicating whether the file is a directory (true) or not (false).

File.isFile

Read-only; a boolean value indicating whether the file is a regular data file (true) or not (false).

File.isOpen

Read-only; a boolean value indicating whether the file has been successfully opened and is still open (true) or not (false).

File.lastModified

Read-only; a Date object containing the time the file was last modified.

File.length

Read-only; for a directory, the number of files in the directory, not counting the current directory and parent directory entries; for a file, the number of bytes in the file.

File.mode

Read-only; the mode of an open file.

File.name

Read-only; a string indicating the name of the file.

File.position

The current offset in the file.

File.type

Read-only; a string specifying the type of data or encoding used when a file is opened.

Method summary

Method

Description

File.close()

Closes the file.

File.copyTo()

Copies a file to a different location or copies it to the same location with a different filename.

File.eof()

Returns a boolean value indicating whether the file pointer is at the end of file (true) or not (false).

File.flush()

Flushes the output buffers of a file.

File.list()

If the file is a directory, lists the files in the directory.

File.mkdir()

Creates a directory.

File.open()

Opens a file so that you can read from it or write to it.

File.read()

Reads the specified number of characters from a file and returns a string.

File.readAll()

Reads the file after the location of the file pointer and returns an array with an element for each line of the file.

File.readByte()

Reads the next byte from the file and returns the numeric value of the next byte, or -1 if the operation fails.

File.readln()

Reads the next line from the file and returns it as a string.

File.remove()

Removes the file or directory pointed to by the File object.

File.renameTo()

Moves or renames a file.

File.seek()

Skips a specified number of bytes and returns the new file position.

File.toString()

Returns the path to the File object.

File.write()

Writes data to a file.

File.writeAll()

Takes an array as a parameter and calls the File.writeln() method on each element in the array.

File.writeByte()

Writes a byte to a file.

File.writeln()

Writes data to a file and adds a platform-dependent end-of-line character after outputting the last parameter.