Description
The OpenBinaryFile
method locates the specified file and opens it for reading and/or writing in binary mode.
Declaration
aqFile.OpenBinaryFile(Path, FileAccess, OverwriteOrCreate)
Path | [in] | Required | String | |
FileAccess | [in] | Required | Integer | |
OverwriteOrCreate | [in] | Optional | Boolean | Default value: False |
Result | An aqBinaryFile object |
Applies To
The method is applied to the following object:
Parameters
The method has the following parameters:
Path
Specifies the fully-qualified path to the desired file.
FileAccess
Defines the file access type. The following constants and values are possible:
Constant | Value | Description |
---|---|---|
aqFile.faWrite |
10 | Open the file for writing. |
aqFile.faRead |
11 | Open the file for reading. |
aqFile.faReadWrite |
12 | Open the file both for reading and writing. |
OverwriteOrCreate
Indicates what the method will do depending on whether the file to be opened exists or not.
File already exists
Parameter Value | aqFile.faRead | aqFile.aqReadWrite, aqFile.Write |
---|---|---|
True | The method will fail. | The method will open the file. |
False | The method will overwrite the file and will then open it. | The method will open the file. |
File does not exist
Parameter Value | aqFile.faRead | aqFile.aqReadWrite, aqFile.Write |
---|---|---|
True | The method will fail. | The method will fail. |
False | The method will create a new file at the specified location and will then open it. | The method will fail. |
Result Value
An aqBinaryFile
object that corresponds to the specified file. To perform operations over the opened file, use the methods and properties of the returned object.
Remarks
Once the file is opened only for reading, the aqTextFile.Cursor
property of the corresponding object is positioned at the beginning of the file. If the file is opened for writing, or both for reading and writing, the property is positioned at the end of the file. To start working with the file, you should set this property to point to the beginning of the file (assign to zero) or to any desired position within the file.
Example
The sample routines below demonstrate how you can read data from and write it to binary files using the OpenBinaryFile
method.
The following script routine opens an existing file in binary mode and then writes text to it:
JavaScript, JScript
function WriteTextToFile()
{
var Path = "C:\\MyFiles\\FileName.txt";
// Opens the file for writing
var myFile = aqFile.OpenBinaryFile(Path, aqFile.faWrite);
// Writes text to the file
myFile.Write("A");
myFile.Write("2");
myFile.Write(123);
// Closes the file
myFile.Close();
}
// After this routine is executed, the "A 2 { " string is written to the end of the FileName.txt file
Python
def WriteTextToFile():
Path = "C:\\MyFiles\\FileName.txt"
# Opens the file for writing
myFile = aqFile.OpenBinaryFile(Path, aqFile.faWrite)
# Writes text to the file
myFile.Write("A")
myFile.Write("2")
myFile.Write(123)
# Closes the file
myFile.Close()
# After this routine is executed, the "A 2 { " string is written to the end of the FileName.txt file
VBScript
Sub WriteByteToFile
Dim Path, myFile
Path = "C:\MyFiles\FileName.txt"
' Opens the file for writing
Set myFile = aqFile.OpenBinaryFile(Path, aqFile.faWrite)
' Writes data to the file
Call myFile.Write("A")
Call myFile.Write("2")
Call myFile.Write(123)
' Closes the file
Call myFile.Close()
End Sub
' After this routine is executed, the "A 2 { " string is written to the end of the FileName.txt file
DelphiScript
procedure WriteTextToFile;
var Path, myFile;
begin
Path := 'C:\MyFiles\FileName.txt';
// Opens the file for writing
myFile := aqFile.OpenBinaryFile(Path, aqFile.faWrite);
// Writes text to the file
myFile.Write('A');
myFile.Write('2');
myFile.Write(123);
// Closes the file
myFile.Close();
end;
// After this routine is executed, the "A 2 { " string is written to the end of the FileName.txt file
C++Script, C#Script
function WriteTextToFile()
{
var Path = "C:\\MyFiles\\FileName.txt";
// Opens the file for writing
var myFile = aqFile["OpenBinaryFile"](Path, aqFile.faWrite);
// Writes text to the file
myFile["Write"]("A");
myFile["Write"]("2");
myFile["Write"](123);
// Closes the file
myFile["Close"]();
}
// After this routine is executed, the "A 2 { " string is written to the end of the FileName.txt file
The following script routine demonstrates how you can read data from a file:
JavaScript, JScript
{
var Path = "C:\\MyFiles\\FileName.txt";
// Opens the specified file for reading
var myFile = aqFile.OpenBinaryFile(Path, aqFile.faRead);
Log.Message("File by bytes:");
// Reads bytes from the file and posts them to the test log
while(! myFile.IsEndOfFile())
{
s = myFile.ReadByte();
Log.Message(s);
}
// Closes the file
myFile.Close();
}
Python
def ReadByteFromFile():
Path = "C:\\MyFiles\\FileName.txt"
# Opens the specified file for reading
myFile = aqFile.OpenBinaryFile(Path, aqFile.faRead)
Log.Message("File by bytes:")
# Reads bytes from the file and posts them to the test log
while not myFile.IsEndOfFile():
s = myFile.ReadByte()
Log.Message(s)
# Closes the file
myFile.Close()
VBScript
Dim Path
Path = "C:\MyFiles\FileName.txt"
' Opens the specified file for reading
Set myFile = aqFile.OpenBinaryFile(Path, aqFile.faRead)
Log.Message("File by bytes:")
' Reads bytes the file and posts them to the test log
While Not myFile.IsEndOfFile()
s = myFile.ReadByte()
Log.Message(s)
WEnd
' Closes the file
Call myFile.Close()
End Sub
DelphiScript
var Path, myFile, s;
begin
Path := 'C:\MyFiles\FileName.txt';
// Opens the specified file for reading
myFile := aqFile.OpenBinaryFile(Path, aqFile.faRead);
Log.Message('File by bytes:');
// Reads bytes from the file and posts them to the test log
while not myFile.IsEndOfFile() do
begin
s := myFile.ReadByte();
Log.Message(s);
end;
// Closes the file
myFile.Close();
end;
C++Script, C#Script
{
var Path = "C:\\MyFiles\\FileName.txt";
// Opens the specified file for reading
var myFile = aqFile["OpenBinaryFile"](Path, aqFile.faRead);
Log["Message"]("File by bytes:");
// Reads bytes from the file and posts them to the test log
while(! myFile.IsEndOfFile())
{
s = myFile["ReadByte"]();
Log["Message"](s);
}
// Closes the file
myFile["Close"]();
}
See Also
Working With Files From Scripts
aqFile.OpenTextFile Method
aqBinaryFile Object
Close Method