Free EcmaScript Interpreter.  
A JavaScript interpreter written in Java.
 
 
Language extensions - FileIO
The FileIO extension is always loaded by the interactive interpreter, and provide access to file functions. The FileIO mechanism is patterned after the Netscape File object (available on the server version of Javascript), but it has been adapted to be nearer of the Java File and Stream capabilities. Currently only text files are supported. The Microsoft JScript I/O mechanism is based on ActiveX and is very Windows specific, so it is not suitable as a general purpose model for a portable EcmaScript implementation.

A FESI File object correspond to a Java File object, possibly linked to a Stream (when the file is opened). The File object is used both for file operations (as delete or move) and for the I/O operations. Error can be detected by a special value being returned, and by the function error. The error text consists of the name of the exception (without the package prefix), followed by a colon, a space and a text. This is more portable than the error code used by Netscape.
 

File object constructor

A File object is created by the function File("pathname"), File("directory","filename"), or the corresponding constructors. The directory can be a File object. The default value of a File object is its path name, represented as a string.
 

File prototype functions

The following  routines are defined on any File object (but may be effectively used only if the object is in a correct state), as they are implemented by the file prototype object:
readAll()
Open the file, read all text, close the file and return the read text as a single string. Returns null in case of error. The file must not be opened when readAll is called!.
open()
Open the file for reading if it exists, for writing if it does not exist. Return true if successful. To create a new file, just delete it (using remove()) before calling open..
close()
Close a file, return true if successful.
isopened()
Return true if the file is opened (even if at EOF), false otherwise..
write(...)
Write the parameters as a string to the file, return true if successful.
writeln(...)
Write the parameters as a string to the file, followed by a new line, return true if successful.
flush()
Flush the output buffer on a file opened for writing, return true in case of success..
readln()
Read a line from an input file. Return null if at eof or in case of error. It may be more convenient to use the error() routine to check for end of file or error conditions.
eof()
Return true of the file is at eof or if it is not open for reading. An error is set if the file was not opened for reading.
exists()
Return true if the file exists (whether opened or not).
isFile()
Return true if the file exists and is a regular file (not a directory).
isDirectory()
Return true if the file exists and is  a directory.
list()
Return the list of files or directories in a directory, as an array of strings, but returns null if the File object does not represent a directory.
mkdir()
Create the directory or directories specified by the path of the File object if they do not exist. Return true if thedirectories were successfully created, false otherwise..
getLength()
Return the length of the file, 0 if it does not exist..
lastModified()
Return the date and time when the file was last modified, Jan 1 1970 if it does not exist.
remove()
Delete the file, return true in case of success. The name remove is used as delete is an EcmaScript keyword..
renameTo("new name")
Rename the file to the target name, which can be a File object or a string, return true if successful.
canRead()
Return true if the file exists and is readable.
canWrite()
Return true if the file exists and is can be written to
getPath()
Return the path given at construction time. Same as toString().
getAbsolutePath()
Get the complete path of the file.
isAbsolute()
Return true if the path is absolute, false otherwise.
getName()
Get the file component part of the path.
getParent()
Get the directory part of the file or the parent directory of a directory . Returns the null string if applied to the root directory (of any drive in Windows).
error()
Return the string of the last error on this file object since it was created or since clearError was called. Return the empty string (which is equivalent to false) if not error was detected.
clearError()
Clear the error indicator.
toString()
Return the path given at construction time. Same as getPath().
valueOf()
TBD.
 

File object properties

The File object itself has the following attributes:
 
separator
The path separator, for example the backslash for Windows.
stdin
The standard input.
stdout
The standard output.
stderr()
The standard error.
The standard IO streams cannot be renamed or closed. Some other operations may be impossible or ignored.

Return to the main page

Last update: 17 June 1998