File

File

The FileReader and FileWriter objects provide access to the devices file system for reading of files.

Objects


FileReader

FileReader is an object that allows one to read a file.

Properties

Methods

Details

The FileReader object is a way to read files from the devices file system. Files can be read as text or as a base64 data encoded string. Users register their own event listners to receive the loadstart, progress, load, loadend, error and abort events.

Supported Platforms

Read As Data URL Quick Example

var win = function(evt) {
    console.log(evt.target.result);
};
var fail = function(evt) {
    console.log(evt.target.error);
};

var paths = navigator.fileMgr.getRootPaths();
var reader = new FileReader();
reader.onload = win;
reader.onerror= fail;
reader.readAsDataURL(paths[0] + "readme.txt");

Read As Text Quick Example

var win = function(evt) {
    console.log(evt.target.result);
};
var fail = function(evt) {
    console.log(evt.target.error);
};

var paths = navigator.fileMgr.getRootPaths();
var reader = new FileReader();
reader.onload = win;
reader.onerror= fail;
reader.readAsText(paths[0] + "readme.txt");

Abort Quick Example

var aborted = function(evt) {
    console.log(evt.target.error);
};

var paths = navigator.fileMgr.getRootPaths();
var reader = new FileReader();
reader.onabort = aborted;
reader.readAsText(paths[0] + "readme.txt");
reader.abort();

Full Example

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Contact Example</title>

    <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for PhoneGap to load
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // PhoneGap is ready
    //
    function onDeviceReady() {
        var paths = navigator.fileMgr.getRootPaths();
        var reader = new FileReader();
        reader.onload = win;
        reader.onerror= fail;
        reader.readAsText(paths[0] + "readme.txt");
    }

    function win(evt) {
        console.log(evt.target.result);
    }

    function fail(evt) {
        console.log(evt.target.error);
    }

    </script>
  </head>
  <body onload="onLoad()">
    <h1>Example</h1>
    <p>Read File</p>
  </body>
</html>

FileWriter

FileWriter is an object that allows one to write a file.

Properties

Methods

Details

The FileWriter object is a way to write files from the devices file system. Users register their own event listners to receive the writestart, progress, write, writeend, error and abort events.

A FileWriter is created for a single file. You can use it to write to a file multiple times. The FileWriter maintains the file's position and length attributes, so you can seek and write anywhere in the file. By default, the FileWriter writes to the beginning of the file (will overwrite existing data). Set the optional append boolean to true in the FileWriter's constructor to begin writing to the end of the file.

Supported Platforms

Seek Quick Example

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt");
// fast forwards file pointer to end of file
writer.seek(writer.length);

Truncate Quick Example

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt");
writer.truncate(10);

Write Quick Example

var writeSuccess = function(evt) {
    console.log("Write has succeeded");
};

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt");
writer.onwrite = writeSuccess;
writer.write("some sample text");

Append Quick Example

var writeSuccess = function(evt) {
    console.log("Write has succeeded");
};

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt", true);
writer.onwrite = writeSuccess;
writer.write("some more text");

Abort Quick Example

var aborted = function(evt) {
    console.log(evt.target.error);
};

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt");
writer.onabort = aborted;
writer.write("some sample text");
writer.abort();

Full Example

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Contact Example</title>

    <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for PhoneGap to load
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // PhoneGap is ready
    //
    function onDeviceReady() {
        var paths = navigator.fileMgr.getRootPaths();
        var writer = new FileWriter(paths[0] + "write.txt");
        writer.onwrite = writeSuccess;
        writer.write("some sample text");
        // The file is now 'some sample text'
    }

    function writeSuccess() {
        console.log("Write has succeeded");
        var paths = navigator.fileMgr.getRootPaths();
        var writer = new FileWriter(paths[0] + "write.txt");
        writer.seek(4);
        writer.truncate(writer.position);
        // The file is now 'some'
    }

    function fail(evt) {
        console.log(evt.target.error);
    }

    </script>
  </head>
  <body onload="onLoad()">
    <h1>Example</h1>
    <p>Write File</p>
  </body>
</html>

FileError

A FileError object is thrown when an error occurs.

Properties

Constants

Description

The FileError object is thrown when an error occurs when reading, writing, seeking or truncating a file. When the user calls the abort method of the reader or writer a FileError with a code of ABORT_ERR is thrown.