Уничтожал

Как объект, который позволяет создавать и записывать данные в файл.

Свойства

  • свойство readyState: один из трех возможных состояний, либо INIT , WRITING , илиDONE.

  • имя файла: имя файла для записи. (DOMString)

  • Длина: длина файла для записи. (длинная)

  • позиция: текущее положение указателя файла. (длинная)

  • Ошибка: объект, который содержит ошибки. (FileError)

  • onwritestart: вызывается, когда начинается запись. (Функция)

  • onwrite: вызывается, когда запрос выполнен успешно. (Функция)

  • OnAbort: вызывается, когда запись была прервана. К примеру путем вызова метода abort(). (Функция)

  • OnError: вызывается при записи не удалось. (Функция)

  • onwriteend: вызывается при завершении запроса (либо в успех или неудача). (Функция)

Следующее свойство не поддерживается:

  • OnProgress: вызывается при записи файла, отчетности прогресс в плане progress.loaded / progress.total . (Функция)

Методы

  • прервать: прерывает записи файла.

  • Искать: перемещает указатель файла в указанный байт.

  • усечение: сокращает файл до указанной длины.

  • написать: записывает данные в файл.

Подробная информация

FileWriterОбъект предлагает способ для записи файлов в кодировке UTF-8 на файловую систему устройства. Приложения отвечают на writestart , progress , write , writeend , error , и abort события.

Каждый FileWriter соответствует один файл, на который данные могут быть записаны во много раз. FileWriterПоддерживает этот файл position и length атрибуты, которые позволяют приложению seek и write где-нибудь в файле. По умолчанию FileWriter пишет в начале файла, перезаписи существующих данных. Задать необязательный append логическое для true в FileWriter в конструктор для записи в конце файла.

Текстовые данные поддерживается на всех платформах, перечисленных ниже. Текст кодируется как UTF-8 перед записью в файловой системе. Некоторые платформы поддерживают также двоичные данные, которые могут быть переданы в качестве ArrayBuffer или Blob.

Поддерживаемые платформы

Текст и двоичные поддержки:

  • Андроид
  • iOS

Текстовая поддержка:

  • WebWorks ежевики (OS 5.0 и выше)
  • Windows Phone 7 и 8
  • ОС Windows 8

Искать быстрый пример

function win(writer) {
    // fast forwards file pointer to end of file
    writer.seek(writer.length);
};

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

entry.createWriter(win, fail);

Усечение быстрый пример

function win(writer) {
    writer.truncate(10);
};

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

entry.createWriter(win, fail);

Написать краткий пример

function win(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
};

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

entry.createWriter(win, fail);

Двоичные записи быстрый пример

function win(writer) {
    var data = new ArrayBuffer(5),
        dataView = new Int8Array(data);
    for (i=0; i < 5; i++) {
        dataView[i] = i;
    }
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write(data);
};

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

entry.createWriter(win, fail);

Добавить быстрый пример

function win(writer) {
    writer.onwrite = function(evt) {
    console.log("write success");
};
writer.seek(writer.length);
    writer.write("appended text");
};

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

entry.createWriter(win, fail);

Прервать быстрый пример

function win(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
    writer.abort();
};

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

entry.createWriter(win, fail);

Полный пример

<!DOCTYPE html>
<html>
  <head>
    <title>FileWriter Example</title>

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

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.createWriter(gotFileWriter, fail);
    }

    function gotFileWriter(writer) {
        writer.onwriteend = function(evt) {
            console.log("contents of file now 'some sample text'");
            writer.truncate(11);
            writer.onwriteend = function(evt) {
                console.log("contents of file now 'some sample'");
                writer.seek(4);
                writer.write(" different text");
                writer.onwriteend = function(evt){
                    console.log("contents of file now 'some different text'");
                }
            };
        };
        writer.write("some sample text");
    }

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

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Write File</p>
  </body>
</html>