Overview
This API provides several methods for access to files and folders found on the device's local file system.
Enabling the API
There are two methods of enabling the RhoFile API:
- Include all ebapi modules
- Include only the required API modules
For either of these methods, you'll need to include files from the /Enterprise Browser/JavaScript Files/Enterprise Browser
directory on the computer that you installed the Enterprise Browser.
Include all JS API modules
To include all JS APIs, copy the ebapi-modules.js file to a location accessible by the app's files and include a reference to the JavaScript file in the app's HTML. For instance, to include the modules file in the app's index.html
, copy the file to the same directory as that index.html
and add the following line to the HTML's HEAD section:
<script type="text/javascript" charset="utf-8" src="ebapi-modules.js"></script>
Note: that the pathing for this file is relative to the current page.
This will define the EB class within the page. Any page you need to use the modules will need to have the .js file included in this fashion.
Include only the required modules
To include single APIs, you must first include the ebapi.js
in your HTML as well as the API file you want to use. For instance, to use the RhoFile API, I would add the following code to my HTML file(s), assuming the API files have been copied to the same directory as the HTML.
<script type="text/javascript" charset="utf-8" src="ebapi.js"></script>
<script type="text/javascript" charset="utf-8" src="eb.file.js"></script>
The ebapi.js file is necessary for all single API inclusions.
Methods
basename(STRING path)
Return basename part for the specified path. Will remove any prefix up to the last path separator ('/' or '\' depending on platform). Example: for path '/full/path/to/file.ext' basename will return 'file.ext'.
Parameters
- path : STRING
Absolute path for which basename is given.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: STRING
Returns
Synchronous Return:
- STRING : Basename part for the given path.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.basename(STRING path)
Destructor close()
Closes file. Once Close method is invoked, no file object will be alive.
Parameters
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method is a destructor and can only be accessed via the object that was created by the
new
constructor.myObj.close()
copy(STRING from, STRING to)
Copies file from "from" (source) to "to" (destination).
Parameters
- from : STRING
File name to be copied.
- to : STRING
Destination path.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : Error code raised during copy operation. 0 if no error.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.copy(STRING from, STRING to)
deleteDir(STRING path)
Deletes specified directory. The specified directory must be empty to be deleted.
Parameters
- path : STRING
Absolute path to the directory to be deleted.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : Error code raised on directory deletion. 0 on success, -1 otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.deleteDir(STRING path)
deleteFile(STRING path)
Deletes file.
Parameters
- path : STRING
Absolute path to the file to be deleted.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : Error code raised on file deletion. 0 on success, -1 otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.deleteFile(STRING path)
deleteRecursive(STRING path, BOOLEAN leaveRoot)
Deletes all directory contents.
Parameters
- path : STRING
Absolute path to the directory.
- leaveRoot : BOOLEAN Optional Default: false
Set to true if you only want to delete directory contents, but no the directory itself.
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.deleteRecursive(STRING path, BOOLEAN leaveRoot)
dirname(STRING path)
Returns directory name part of the specified path.
Parameters
- path : STRING
Absolute path to directory.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: STRING
Returns
Synchronous Return:
- STRING : Directory name.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.dirname(STRING path)
exists(STRING path)
Checks if specified path exists.
Parameters
- path : STRING
Absolute path to file or directory.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: BOOLEAN
Returns
Synchronous Return:
- BOOLEAN : True if path exists, otherwise false.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.exists(STRING path)
flush()
Flushes all buffered data to the storage media.
Parameters
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.flush()
getFileSize(STRING path)
Returns size of the file.
Parameters
- path : STRING
Absolute path to the file.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : File size in bytes.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.getFileSize(STRING path)
isDir(STRING path)
Checks if specified path is a directory.
Parameters
- path : STRING
Absolute path of the directory.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: BOOLEAN
Returns
Synchronous Return:
- BOOLEAN : True if path is a directory. False otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.isDir(STRING path)
isFile(STRING path)
Checks if specified path is a file.
Parameters
- path : STRING
Absolute path of the file.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: BOOLEAN
Returns
Synchronous Return:
- BOOLEAN : True if path is a file, false otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.isFile(STRING path)
isOpened()
Checks if file is opened.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: BOOLEAN
Returns
Synchronous Return:
- BOOLEAN : True if file is opened, false otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.isOpened()
join(STRING p1, STRING p2)
Joins two parts of the path considering all necessary path delimiters. I.e.: join('/path/to','file') will return '/path/to/file'
Parameters
- p1 : STRING
First part of the path.
- p2 : STRING
Second part of the path.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: STRING
Returns
Synchronous Return:
- STRING : Joined path.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.join(STRING p1, STRING p2)
listDir(STRING path)
Lists all entries of specified directory.
Parameters
- path : STRING
Absolute path to directory.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: ARRAY
Returns
Synchronous Return:
- ARRAY : Array of directory entry names. If directory is empty array of size 0 will be returned.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.listDir(STRING path)
makeDir(STRING path)
Creates directory with the provided path. If all top-level nodes of the path doesn't exists, directory will not be created.
Parameters
- path : STRING
Path to the new directory.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : Error code raised on directory creation. 0 on success, -1 otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.makeDir(STRING path)
makeDirs(STRING path)
Creates directory and all top-level directories if necessary. Subsequent isDir call is necessary to check if path was successfully created.
Parameters
- path : STRING
Absolute path to the directory to be created.
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.makeDirs(STRING path)
Constructor new EB.RhoFile(STRING path, INTEGER mode)
Opens file in a mode specified by the "mode" parameter.
Parameters
- path : STRING
Absolute path to the file.
- mode : INTEGER
Mode in which to open the file.
Possible Values :
- Constant: EB.RhoFile.OPEN_FOR_APPEND
String:1 - Open file for output at the end of a file. The file is created if it does not exist.
- Constant: EB.RhoFile.OPEN_FOR_READ
String:2 - Open file for read-only operations. The file must exist.
- Constant: EB.RhoFile.OPEN_FOR_WRITE
String:3 - Create an empty file for output operations. If a file with the same name already exists, its contents are discarded and the file is treated as a new empty file.
- Constant: EB.RhoFile.OPEN_FOR_READ_WRITE
String:4 - Open a file for update (both for read and write). The file must exist.
- Constant: EB.RhoFile.OPEN_FOR_APPEND
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method is a constructor and can only be accessed via the
new
construct.var myObj = new EB.RhoFile(STRING path, INTEGER mode)
read(STRING path)
Reads specified file to a string object.
Parameters
- path : STRING
Absolute path to file.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: STRING
Returns
Synchronous Return:
- STRING : File contents.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.read(STRING path)
read(INTEGER size)
Reads specified number of characters from current position of the file.
Parameters
- size : INTEGER
Number of characters to be read.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: STRING
Returns
Synchronous Return:
- STRING : String from current position of file containing specified number of characters.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.read(INTEGER size)
readAll()
Reads all file contents to the string object.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: STRING
Returns
Synchronous Return:
- STRING : Contents of the file.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.readAll()
rename(STRING from, STRING to)
Renames / moves file.
Parameters
- from : STRING
Original path / name.
- to : STRING
New path / name.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : Error code raised on move / rename. 0 on success, -1 otherwise.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.RhoFile.rename(STRING from, STRING to)
seek(INTEGER pos)
Sets file position to specified value from the beginning of the file.
Parameters
- pos : INTEGER
Position within the file.
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.seek(INTEGER pos)
size()
Returns file size.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : File size in bytes.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.size()
write(STRING val)
Writes the provided string at current position in the file.
Parameters
- val : STRING
String to be written to the file.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: INTEGER
Returns
Synchronous Return:
- INTEGER : Number of bytes written.
Platforms
- Android
- Windows Mobile
- Windows CE
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.write(STRING val)
Remarks
SD Card Access
SD Card access is disabled on devices running Android 11 (and later). Learn more.
Any references to device path must be directed to:
/enterprise/device/enterprisebrowser
or/Android/data/com.zebra.mdna.enterprisebrowser/
Examples
Create and Read the file using File API
This example demonstrate how to create and read the file using File API.
//Set the file path
var path = EB.RhoFile.join(EB.Application.userFolder, "testFile.txt");
//Create the file
function createFile()
{
if (EB.RhoFile.exists(path))
{
EB.RhoFile.deleteFile(path);
}
var fWrite = new EB.RhoFile(path,EB.RhoFile.OPEN_FOR_READ_WRITE);
fWrite.write("This is Enterprise Browser File API.");
fWrite.close();
}
//Read the file
function readFile()
{
var fOpen = new EB.RhoFile(path,EB.RhoFile.OPEN_FOR_READ);
var data = fOpen.readAll();
document.getElementById("myText").innerHTML = data;
fOpen.close();
}