Server-side object | |
Implemented in | LiveWire 1.0 |
Created by
The File
constructor:
new File("path")
Parameters
path | The path and filename in the format of the server's file system (not a URL path). |
Description
You can use the File
object to write to or read from a file on the server. For security reasons, you cannot programmatically access the file system of client machines.
You can use the File
object to generate persistent HTML or data files without using a database server. Information stored in a file is preserved when the server goes down.
Exercise caution when using the File
object. An application can read and write files anywhere the operating system allows. If you create an application that writes to or reads from your file system, you should ensure that users cannot misuse this capability.
Specify the full path, including the filename, for the path
parameter of the File
object you want to create. The path must be an absolute path; do not use a relative path.
If the physical file specified in the path already exists, the JavaScript runtime engine references it when you call methods for the object. If the physical file does not exist, you can create it by calling the open
method.
You can display the name and path of a physical file by calling the write
function and passing it the name of the related File
object.
A pointer indicates the current position in a file. If you open a file in the a
or a+
mode, the pointer is initially positioned at the end of the file; otherwise, it is initially positioned at the beginning of the file. In an empty file, the beginning and end of the file are the same. Use the eof
, getPosition
, and setPosition
methods to specify and evaluate the position of the pointer. See the open
method for a description of the modes in which you can open a file.
You can use the prototype
property of the File
object to add a property to all File
instances. If you do so, that addition applies to all File
objects running in all applications on your server, not just in the single application that made the change. This allows you to expand the capabilities of this object for your entire server.
Property Summary
|
Allows the addition of properties to a File object.
|
Examples
Example 1. The following example creates the File
object userInfo
that refers to a physical file called info.txt
. The info.txt
file resides in the same directory as the application's .web
file:
userInfo = new File("info.txt")
Example 2. In the following example, the File
object refers to a physical file with an absolute path:
userInfo = new File("c:\\data\\info.txt")
Example 3. The following example displays the name of a File
object onscreen.
userInfo = new File("c:\\data\\info.txt")
write(userInfo) Properties
prototype
Represents the prototype for this class. You can use the prototype to add properties or methods to all instances of a class. For information on prototypes, see Function.prototype
.
Property of |
File
|
Implemented in | LiveWire 1.0 |
Methods
byteToString
Converts a number that represents a byte into a string.
Method of |
File
|
Static | |
Implemented in | LiveWire 1.0 |
Syntax
byteToString(number)
Parameters
number | A number that represents a byte. |
Description
Use the stringToByte
and byteToString
methods to convert data between binary and ASCII formats. The byteToString
method converts the number
argument into a string.
Because byteToString
is a static method of File
, you always use it as File.byteToString()
, rather than as a method of a File
object you created.
If the argument you pass into the byteToString
method is not a number, the method returns an empty string.
Examples
The following example creates a copy of a text file, one character at a time. In this example, a while
loop executes until the pointer is positioned past the end of the file. Inside the loop, the readByte
method reads the current character from the source file, and the byteToString
method converts it into a string; the write
method writes it to the target file. The last readByte
method positions the pointer past the end of the file, ending the while
loop. See the File
object for a description of the pointer.
// Create the source File object
source = new File("c:\data\source.txt")// If the source file opens successfully, create a target file
if (source.open("r")) {
target = new File("c:\data\target.txt")
target.open("w")// Copy the source file to the target
This example is similar to the example used for the
while (!source.eof()) {
data = File.byteToString(source.readByte())
target.write(data);
}
source.close()
}
target.close()write
method of File
. However, this example reads bytes from the source file and converts them to strings, instead of reading strings from the source file.
See also
File.stringToByte
clearError
Clears the current file error status.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
clearError()
Parameters
None.
Description
The clearError
method clears both the file error status (the value returned by the error
method) and the value returned by the eof
method.
Examples
See the example for the error
method.
See also
File.error
, File.eof
close
Closes an open file on the server.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
close()
Parameters
None.
Description
When your application is finished with a file, you should close the file by calling the close
method. If the file is not open, the close
method fails. This method returns true if it is successful; otherwise, it returns false.
Examples
See the examples for the open
method.
See also
File.open
, blob
eof
Determines whether the pointer is beyond the end of an open file.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
eof()
Parameters
None.
Description
Use the eof
method to determine whether the position of the pointer is beyond the end of a file. See File
for a description of the pointer.
A call to setPosition
resulting in a location greater than fileObjectName.getLength
places the pointer beyond the end of the file. Because all read operations also move the pointer, a read operation that reads the last byte of data (or character) in a file positions the pointer beyond the end of the file.
The eof
method returns true if the pointer is beyond the end of the file; otherwise, it returns false.
Examples
In this example, a while
loop executes until the pointer is positioned past the end of the file. While the pointer is not positioned past the end of the file, the readln
method reads the current line, and the write
method displays it. The last readln
method positions the pointer past the end of the file, ending the while
loop.
x = new File("c:\data\userInfo.txt")
if (x.open("r")) {
while (!x.eof()) {
line = x.readln()
write(line+"<br>");
}
x.close();
} See also
File.getPosition
, File.setPosition
error
Returns the current error status.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
error()
Parameters
None
Returns
0 if there is no error.
-1 if the file specified in fileObjectName
is not open
Otherwise, the method returns a nonzero integer indicating the error status. Specific error status codes are platform-dependent. Refer to your operating system documentation for more information.
Examples
The following example uses the error
method in an if
statement to take different actions depending on whether a call to the open
method succeeded. After the if
statement completes, the error status is reset with the clearError
method.
userInput = new File("c:\data\input.txt")
userInput.open("w")
if (userInput.error() == 0) {
fileIsOpen() }
else {
fileIsNotOpen() }
userInput.clearError() See also
File.clearError
exists
Tests whether a file exists.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
exists()
Parameters
None.
Returns
True if the file exists; otherwise, false.
Examples
The following example uses an if
statement to take different actions depending on whether a physical file exists. If the file exists, the JavaScript runtime engine opens it and calls the writeData
function. If the file does not exist, the runtime engine calls the noFile
function.
dataFile = new File("c:\data\mytest.txt")
if (dataFile.exists() ==true) {
dataFile.open("w")
writeData()
dataFile.close()
}
else {
noFile()
}flush
Writes the content of the internal buffer to a file.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
flush()
Parameters
None.
Description
When you write to a file with any of the File
object methods (write
, writeByte
, or writeln
), the data is buffered internally. The flush
method writes the buffer to the physical file. The flush
method returns true if it is successful; otherwise, it returns false.
Do not confuse the flush
method of the File
object with the top-level flush
function. The flush
function flushes a buffer of data and causes it to display in the client browser; the flush
method flushes a buffer of data to a physical file.
Examples
See the write
method for an example of the flush
method.
See also
File.write
, File.writeByte
, File.writeln
getLength
Returns the length of a file.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
getLength()
Parameters
None.
Description
If this method is successful, it returns the number of bytes in a binary file or characters in a text file; otherwise, it returns -1.
Examples
The following example copies a file one character at a time. This example uses getLength
as a counter in a for
loop to iterate over every character in the file.
// Create the source File object
source = new File("c:\data\source.txt")// If the source file opens successfully, create a target file
if (source.open("r")) {
target = new File("c:\data\target.txt")
target.open("a") // Copy the source file to the target
for (var x = 0; x < source.getLength(); x++) {
source.setPosition(x)
data = source.read(1)
target.write(data)
}
source.close()
}
target.close()getPosition
Returns the current position of the pointer in an open file.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
getPosition()
Parameters
None
Returns
-1 if there is an error.
Description
Use the getPosition
method to determine the position of the pointer in a file. See the File
object for a description of the pointer. The getPosition
method returns the current pointer position; the first byte in a file is byte 0.
Examples
The following examples refer to the file info.txt
, which contains the string "Hello World." The length of info.txt
is 11 bytes.
Example 1. In the following example, the first call to getPosition
shows that the default pointer position is 0 in a file that is opened for reading. This example also shows that a call to the read
method repositions the pointer.
dataFile = new File("c:\data\info.txt")
dataFile.open("r")write("The position is " + dataFile.getPosition() + "<BR>")
write("The next character is " + dataFile.read(1) + "<BR>")
write("The new position is " + dataFile.getPosition() + "<BR>")dataFile.close()
This example displays the following information:
The position is 0
Example 2. This example uses
The next character is H
The new position is 1setPosition
to position the pointer one byte from the end of the eleven-byte file, resulting in a pointer position of offset 10.
dataFile = new File("c:\data\info.txt")
dataFile.open("r")dataFile.setPosition(-1,2)
write("The position is " + dataFile.getPosition() + "<BR>")
write("The next character is " + dataFile.read(1) + "<BR>")dataFile.close()
This example displays the following information:
The position is 10
Example 3. You can position the pointer beyond the end of the file and still evaluate
The next character is dgetPosition
successfully. However, a call to eof
indicates that the pointer is beyond the end of the file.
dataFile.setPosition(1,2)
This example displays the following information:
write("The position is " + dataFile.getPosition() + "<BR>")
write("The value of eof is " + dataFile.eof() + "<P>")The position is 12
The value of eof is true See also
File.eof
, File.open
, File.setPosition
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
open("mode")
Parameters
mode | A string specifying whether to open the file to read, write, or append, according to the list below. |
Description
Use the open
method to open a file on the server before you read from it or write to it. If the file is already open, the method fails and has no effect. The open
method returns true if it is successful; otherwise, it returns false.
The mode
parameter is a string that specifies whether to open the file to read, write, or append data. You can optionally use the b
parameter anytime you specify the mode. If you do so, the JavaScript runtime engine on the server opens the file as a binary file. If you do not use the b
parameter, the runtime engine opens the file as a text file. The b
parameter is available only on Windows platforms.
The possible values for mode
are as follows:
close
method.
info.txt
so an application can write information to it. If info.txt
does not already exist, the open
method creates it; otherwise, the open
method overwrites it. The close
method closes the file after the writeData
function is completed.
userInfo = new File("c:\data\info.txt")Example 2. The following example opens a binary file so an application can read data from it. The application uses an
userInfo.open("w")
writeData()
userInfo.close()
if
statement to take different actions depending on whether the open
statement finds the specified file.
entryGraphic = new File("c:\data\splash.gif")
if (entryGraphic.open("rb") == true) {
displayProcedure()
}
else {
errorProcedure()
}
entryGraphic.close()
File.close
read
Reads data from a file into a string.
Method of |
File
|
Implemented in | LiveWire 1.0 |
count | An integer specifying the number of characters to read. |
Description
The read
method reads the specified number of characters from a file, starting from the current position of the pointer. If you attempt to read more characters than the file contains, the method reads as many characters as possible. This method moves the pointer the number of characters specified by the count
parameter. See the File
object for a description of the pointer.
The read
method returns the characters it reads as a string.
Use the read
method to read information from a text file; use the readByte
method to read data from a binary file.
Examples
The following example references the file info.txt
, which contains the string "Hello World." The first read
method starts from the beginning of the file and reads the character "H." The second read
method starts from offset six and reads the characters "World."
dataFile = new File("c:\data\info.txt")
dataFile.open("r")write("The next character is " + dataFile.read(1) + "<BR>")
dataFile.setPosition(6)
write("The next five characters are " + dataFile.read(5) + "<BR>")dataFile.close()
This example displays the following information:
The next character is H
The next five characters are World See also
File.readByte
, File.readln
, File.write
readByte
Reads the next byte from an open file and returns its numeric value.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
readByte()
Parameters
None.
Description
The readByte
method reads the next byte from a file, starting from the current position of the pointer. This method moves the pointer one byte. See the File
object for a description of the pointer.
The readByte
method returns the byte it reads as a number. If the pointer is at the end of the file when you issue readByte
, the method returns -1.
Use the readByte
method to read information from a binary file. You can use the readByte
method to read from a text file, but you must use the byteToString
method to convert the value to a string. Generally it is better to use the read
method to read information from a text file.
You can use the writeByte
method to write data read by the readByte
method to a file.
Examples
This example creates a copy of a binary file. In this example, a while
loop executes until the pointer is positioned past the end of the file. While the pointer is not positioned past the end of the file, the readByte
method reads the current byte from the source file, and the writeByte
method writes it to the target file. The last readByte
method positions the pointer past the end of the file, ending the while
loop.
// Create the source File object
source = new File("c:\data\source.gif")// If the source file opens successfully, create a target file
if (source.open("rb")) {
target = new File("c:\data\target.gif")
target.open("wb")// Copy the source file to the target
while (!source.eof()) {
data = source.readByte()
target.writeByte(data);
}
source.close();
}
target.close() See also
File.read
, File.readln
, File.writeByte
readln
Reads the current line from an open file and returns it as a string.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
readln()
Parameters
None
Description
The readln
method reads the current line of characters from a file, starting from the current position of the pointer. If you attempt to read more characters than the file contains, the method reads as many characters as possible. This method moves the pointer to the beginning of the next line. See the File
object for a description of the pointer.
The readln
method returns the characters it reads as a string.
The line separator characters ("\r
" and "\n
" on Windows platforms and "\n
" on UNIX platforms) are not included in the string that the readln
method returns. The \r
character is skipped; \n
determines the actual end of the line.
Use the readln
method to read information from a text file; use the readByte
method to read data from a binary file. You can use the writeln
method to write data read by the readln
method to a file.
Examples
See File.eof
See also
File.read
, File.readByte
, File.writeln
setPosition
Positions a pointer in an open file.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
setPosition(position, reference)
Parameters
position | An integer indicating where to position the pointer. |
reference | (Optional) An integer that indicates a reference point, according to the list below. |
Description
Use the setPosition
method to reposition the pointer in a file. See the File
object for a description of the pointer.
The position
argument is a positive or negative integer that moves the pointer the specified number of bytes relative to the reference
argument. Position 0 represents the beginning of a file. The end of a file is indicated by fileObjectName.getLength()
.
The optional reference
argument is one of the following values, indicating the reference point for position
:
setPosition
method returns true if it is successful; otherwise, it returns false.
info.txt
, which contains the string "Hello World." The length of info.txt
is 11 bytes. The first example moves the pointer from the beginning of the file, and the second example moves the pointer to the same location by navigating relative to the end of the file. Both examples display the following information:
The position is 10Example 1. This example moves the pointer from the beginning of the file to offset 10. Because no value for
The next character is d
reference
is supplied, the JavaScript runtime engine assumes it is 0.
dataFile = new File("c:\data\info.txt")
dataFile.open("r")
dataFile.setPosition(10)
write("The position is " + dataFile.getPosition() + "<BR>")
write("The next character is " + dataFile.read(1) + "<P>")
dataFile.close()Example 2. This example moves the pointer from the end of the file to offset 10.
dataFile = new File("c:\data\info.txt")
dataFile.open("r")
dataFile.setPosition(-1,2)
write("The position is " + dataFile.getPosition() + "<BR>")
write("The next character is " + dataFile.read(1) + "<P>")
dataFile.close()
File.eof
, File.getPosition
, File.open
stringToByte
Converts the first character of a string into a number that represents a byte.
Method of |
File
|
Static | |
Implemented in | LiveWire 1.0 |
Syntax
stringToByte(string)
Parameters
string | A JavaScript string. |
Description
Use the stringToByte
and byteToString
methods to convert data between binary and ASCII formats. The stringToByte
method converts the first character of its string
argument into a number that represents a byte.
Because stringToByte
is a static method of File
, you always use it as File.stringToByte()
, rather than as a method of a File
object you created.
If this method succeeds, it returns the numeric value of the first character of the input string; if it fails, it returns 0.
Examples
In the following example, the stringToByte
method is passed "Hello" as an input argument. The method converts the first character, "H," into a numeric value representing a byte.
write("The stringToByte value of Hello = " +
The previous example displays the following information:
File.stringToByte("Hello") + "<BR>")
write("Returning that value to byteToString = " +
File.byteToString(File.stringToByte("Hello")) + "<P>")The stringToByte value of Hello = 72
Returning that value to byteToString = H See also
File.byteToString
write
Writes data from a string to a file on the server.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
write(string)
Parameters
string | A JavaScript string. |
Description
The write
method writes the string specified as string
to the file specified as fileObjectName
. This method returns true if it is successful; otherwise, it returns false.
Use the write
method to write data to a text file; use the writeByte
method to write data to a binary file. You can use the read
method to read data from a file to a string for use with the write
method.
Do not confuse the write
method of the File
object with the write
function. The write
function outputs data to the client browser; the write
method outputs data to a physical file on the server.
Examples
This example creates a copy of a text file, one character at a time. In this example, a while
loop executes until the pointer is positioned past the end of the file. While the pointer is not positioned past the end of the file, the read
method reads the current character from the source file, and the write
method writes it to the target file. The last read
method positions the pointer past the end of the file, ending the while
loop. See the File
object for a description of the pointer.
// Create the source File object
source = new File("c:\data\source.txt")// If the source file opens successfully, create a target file
if (source.open("r")) {
target = new File("c:\data\target.txt")
target.open("w")// Copy the source file to the target
while (!source.eof()) {
data = source.read(1)
target.write(data);
}
source.close();
}
target.flush()
target.close() See also
File.flush
, File.read
, File.writeByte
, File.writeln
writeByte
Writes a byte of data to a binary file on the server.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
writeByte(number)
Parameters
number | A number that specifies a byte of data. |
Description
The writeByte
method writes a byte that is specified as number
to a file that is specified as fileObjectName
. This method returns true if it is successful; otherwise, it returns false.
Use the writeByte
method to write data to a binary file; use the write
method to write data to a text file. You can use the readByte
method to read bytes of data from a file to numeric values for use with the writeByte
method.
Examples
See the example for the readByte
method.
See also
File.flush
, File.readByte
, File.write
, File.writeln
writeln
Writes a string and a carriage return to a file on the server.
Method of |
File
|
Implemented in | LiveWire 1.0 |
Syntax
writeln(string)
Parameters
string | A JavaScript string. |
Description
The writeln
method writes the string specified as string
to the file specified as fileObjectName
. Each string is followed by the carriage return/line feed character "\n
" ("\r\n
" on Windows platforms). This method returns true if the write is successful; otherwise, it returns false.
Use the writeln
method to write data to a text file; use the writeByte
method to write data to a binary file. You can use the readln
method to read data from a file to a string for use with the writeln
method.
Examples
This example creates a copy of a text file, one line at a time. In this example, a while
loop executes until the pointer is positioned past the end of the file. While the pointer is not positioned past the end of the file, the readln
method reads the current line from the source file, and the writeln
method writes it to the target file. The last readln
method positions the pointer past the end of the file, ending the while
loop. See the File
object for a description of the pointer.
// Create the source File object
source = new File("c:\data\source.txt")// If the source file opens successfully, create a target file
if (source.open("r")) {
target = new File("c:\data\target.txt")
target.open("w")// Copy the source file to the target
Note that the
while (!source.eof()) {
data = source.readln()
target.writeln(data);
}
source.close();
}
target.close()readln
method ignores the carriage return/line feed characters when it reads a line from a file. The writeln
method appends these characters to the string that it writes.
See also
File.flush
, File.readln
, File.write
, File.writeByte
Last Updated: 10/31/97 16:37:22