Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

reader.onerror = logerr; // Сообщить об ошибке в readAsText

},
logerr);
// Сообщить об ошибке в file

},

logerr); // Сообщить об ошибке в getFile

}

// Добавляет указанное содержимое в конец файла с указанным
именем, создает новый файл,

// если файл с указанным именем не существует. Вызывает callback по завершении операции,

function appendToFile(path, contents, callback) {

// filesystem.root - это корневой каталог,

filesystem.root.getFile( // Получить объект FileEntry

path, // Имя и путь к требуемому файлу

{create:true}, // Создать, если не существует

function(entry) { // Вызвать эту функцию, когда файл будет найден

entry.createWriter( // Создать для файла объект FileWriter

function(writeг) { // Вызвать эту функцию после создания

// По умолчанию запись производится в начало файла.

// Нам же требуется выполнить запись в конец файла

writer.seek(writer.length); // Переместиться в конец файла

// Преобразовать содержимое файла в объект Blob. Аргумент contents

// может быть строкой, объектом Blob или объектом ArrayBuffer.

var bb = new BlobBuilder;

bb.append(contents);

var blob = bb.getBlob;

// Записать двоичный объект в файл

writer.write(blob);

writer.onerror = logerr; // Сообщить об ошибке в write

if (callback) // Если указана функция callback

writer.onwrite = callback: // вызвать в случае успеха

},

logerr); // Сообщить об ошибке в createWriter

},

logerr); // Сообщить об ошибке в getFile

}

// Удаляет файл с указанным именем, вызывает callback по завершении операции,

function deleteFile(name, callback) {

filesystem.root.getFile(name, {}, //
Получить FileEntry по имени файла

function(entry) { // Передать FileEntry сюда

entry.remove(callback, // Удалить файл

logerr); // Или сообщить

}, //об ошибке в remove

logerr): // Сообщить об ошибке в getFile

}

// Создает новый каталог с указанным именем

function makeDirectory(name, callback) {

filesystem.root.getDirectory(name, // Имя создаваемого каталога

{ // Параметры

create: true, // Создать, если не сущ.

exclusive:true // Ошибка, если существует

},

callback, // Вызвать по завершении

logerr);
// Выводить любые ошибки

}

// Читает содержимое указанного каталога и передает его в виде массива строк

// указанной функции callback

function listFiles(path, callback) {

// Если каталог не указан, получить содержимое корневого каталога.

// Иначе отыскать каталог с указанным именем и вернуть список

// с его содержимым (или сообщить об ошибке поиска),

if (!path) getFiles(filesystem.root);

else filesystem.root.getDirectory(path, {}, getFiles, logerr);

function getFiles(dir) { // Эта функция используется выше

var reader = dir.createReader; // Объект DirectoryReader

var list = []; // Для сохранения имен файлов

reader.readEntries(handleEntries, // Передать функции ниже

logerr); // или сообщить об ошибке.

// Чтение каталогов может превратиться в многоэтапный процесс.

// Необходимо сохранять результаты вызовов readEntries, пока не будет

// получен пустой массив. На этом операция будет закончена,

Поделиться с друзьями: