File

File

FileReaderFileWriter オブジェクトはファイルシステムへの読み書き手段を提供します。

オブジェクト


FileReader

FileReader はファイルの読み込みを行うオブジェクトです。

プロパティ

メソッド

詳細

FileReader オブジェクトはデバイスのファイルシステムからファイルを読み込みます。 ファイルはテキストもしくはBase64でエンコードされた文字列として読み込まれます。 また、イベントを受け取るための独自のイベントリスナを登録することもできます。

サポートされているプラットフォーム

データURLとして読み込む場合

パラメータ:

使用例

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

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

テキストとして読み込む場合

パラメータ:

使用例

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

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

読み込みを中断する例

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

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

詳細な使用例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>連絡先の使用例</title>

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

    // PhoneGapの読み込みを待機
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // PhoneGap準備完了
    //
    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.code);
    }

    </script>
  </head>
  <body onload="onLoad()">
    <h1>サンプル</h1>
    <p>ファイルを読み込みます。</p>
  </body>
</html>

iOS に関する注意点


FileWriter

FileWriterオブジェクトはファイルへの書き込みに使用します。

プロパティ

メソッド

詳細

FileWriter オブジェクトはデバイスのファイルシステムに書き込む際に使用します。 また、イベントを受け取るための独自のイベントリスナを登録することもできます。 FileWriter はひとつのファイルに対して使用され、複数回書き込みを行うこともできます。 FileWriter が書き込み位置を管理することで、ユーザーは部分的に書き込むことができます。

FileWriteはファイルポインタの位置とlength属性を指定することができるので、ファイルのどの位置からでも書き込みを行うことができます。 デフォルトではファイルの開始位置にポインタがセットされ、既存のデータを上書きしながら書き込みが行われます。 書き込みをファイルの最終から始める場合は FileWriter コンストラクタにtrueを指定してください。

サポートされているプラットフォーム

Seek の例

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt");
// ファイルポインタをEOFに移動
writer.seek(writer.length);

Truncate の例

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

Write の例

var writeSuccess = function(evt) {
    console.log("書き込み成功");
};

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt");
writer.onwrite = writeSuccess;
writer.write("サンプルテキスト");

Append の例

var writeSuccess = function(evt) {
    console.log("書き込み成功");
};

var paths = navigator.fileMgr.getRootPaths();
var writer = new FileWriter(paths[0] + "write.txt", true);
writer.onwrite = writeSuccess;
writer.write("サンプルテキスト");

Abort の例

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("サンプルテキスト");
writer.abort();

詳細な例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>連絡先の使用例</title>

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

    // PhoneGapの読み込みの待機
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // PhoneGap準備完了
    //
    function onDeviceReady() {
        var paths = navigator.fileMgr.getRootPaths();
        var writer = new FileWriter(paths[0] + "write.txt");
        writer.onwrite = writeSuccess;
        writer.write("サンプルテキスト");
        // ファイル名は'サンプルテキスト'に変更されました。
    }

    function writeSuccess() {
        console.log("書き込み成功");
        var paths = navigator.fileMgr.getRootPaths();
        var writer = new FileWriter(paths[0] + "write.txt");
        writer.seek(4);
        writer.truncate(writer.position);
        // ファイル名は'some'に変更されました。
    }

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

    </script>
  </head>
  <body onload="onLoad()">
    <h1>サンプル</h1>
    <p>ファイルに書き込みます。</p>
  </body>
</html>

FileTransfer

FileTransfer オブジェクトはファイルをサーバーにアップロードする際に使用します。

プロパティ

N/A

メソッド

詳細

FileTransfer オブジェクトはマルチパート形式でHTTPサーバーにPOST処理を行いファイルをアップロードします。 このメソッドはHTTPとHTTPSの両方をサポートします。uploadメソッドに FileUploadOptions オブジェクトを送ることで、任意のパラメータを追加できます。

アップロードが成功した場合 FileUploadResult オブジェクトともにsuccessコールバック関数が呼ばれます。 エラーが発生した場合は FileTransferError オブジェクトとともにerrorコールバックが呼ばれます。

サポートされているプラットフォーム

使用例

var win = function(r) {
    console.log("コード = " + r.responseCode);
    console.log("結果 = " + r.response);
    console.log("送信バイト数 = " + r.bytesSent);
}

var fail = function(error) {
    alert("エラーが発生しました: Code = " = error.code);
}

var options = new FileUploadOptions();
options.fileKey="file";
options.fileName="newfile.txt";
options.mimeType="text/plain";

var params = new Object();
params.value1 = "test";
params.value2 = "param";

options.params = params;

var paths = navigator.fileMgr.getRootPaths();
var ft = new FileTransfer();
ft.upload(paths[0] + "newfile.txt", "http://some.server.com/upload.php", win, fail, options);

詳細な使用例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>連絡先の使用例</title>

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

    // PhoneGapの読み込みを待機
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // PhoneGap準備完了
    //
    function onDeviceReady() {
        var options = new FileUploadOptions();
        options.fileKey="file";
        options.fileName="newfile.txt";
        options.mimeType="text/plain";

        var params = new Object();
        params.value1 = "test";
        params.value2 = "param";

        options.params = params;

        var paths = navigator.fileMgr.getRootPaths();
        var ft = new FileTransfer();
        ft.upload(paths[0] + "newfile.txt", "http://some.server.com/upload.php", win, fail, options);
    }

    function win(evt) {
        console.log("コード = " + r.responseCode);
        console.log("結果 = " + r.response);
        console.log("送信バイト数 = " + r.bytesSent);
    }

    function fail(evt) {
        alert("エラーが発生しました。: コード = " = error.code);
    }

    </script>
  </head>
  <body onload="onLoad()">
    <h1>サンプル</h1>
    <p>ファイルを読み込みます。</p>
  </body>
</html>

FileUploadOptions

FileUploadOptions オブジェクトはuploadメソッドを実行する際、追加のパラメータを設定する場合に使用します。

プロパティ

詳細

FileUploadOptions オブジェクトはuploadメソッドを実行する際、追加のパラメータを設定する場合に使用します。


FileUploadResult

FileUploadResult オブジェクトは FileTransfer オブジェクトの upload メソッドを呼び出し、それが成功した時に返されるオブジェクトです。

プロパティ

詳細

FileUploadResult オブジェクトは FileTransfer オブジェクトの upload メソッドを呼び出し、それが成功した時に返されるオブジェクトです。


FileError

FileError オブジェクトはエラーが発生した場合にFileWriter/FileReaderのerrorプロパティ上にセットされます。

プロパティ

定数

詳細

FileError オブジェクトはファイルの読み書き時に回避不能なエラーが発生した時に発行されます。 現在の状態が FileWriter.DONE または FileWriter.INIT である場合に abort メソッドを呼び出すと、 ABORT_ERR が発行されます。


FileTransferError

FileTransferError オブジェクトはエラーが発生した時に投げられます。

プロパティ

定数

詳細

FileTransferError オブジェクトはファイルアップロード時にエラーが発生した場合に投げられます。