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

на главную - закладки

Жанры

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

/*

* Следующие функции были протестированы в Google Chrome 10.0 dev.

* Вам может потребоваться запустить Chrome со следующими ключами:

* --unlimited-quota-for-files : разрешает доступ к файловой системе

* —allow-file-access-from-files : разрешает тестировать из URL file://

*/

// Многие асинхронные функции, используемые здесь, принимают необязательные функции

// обратного вызова для обработки ошибок.

// Следующая функция просто выводит сообщение об ошибке,

function logerr(e) { console.log(e); }

// requestFileSystem возвращает локальную файловую систему, доступную

// только приложениям с указанным происхождением. Приложение может читать

// и писать файлы в ней, но не может получить доступ к остальной файловой системе,

var filesystem; // Предполагается, что эта переменная будет инициализирована

// перед вызовом функции, объявленной ниже.

requestFileSystem(PERSISTENT, // Или TEMPORARY для кэширования файлов 10*1024*1024,

// Требуется 10 Мбайт

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

filesystem = fs; // Просто сохранить ссылку на файловую систему

},
//в глобальной переменной,

logerr); // Вызвать эту функцию в случае ошибки

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

function readTextFile(path, callback) {

// Вызвать getFile, чтобы получить объект FileEntry для файла

// с указанным именем

filesystem.root.getFile(path, {}, function(entry) {

// При вызове этой функции передается объект FileEntry, соответствующий файлу.

// Теперь следует вызвать метод FileEntry.file, чтобы получить объект File

entry.file(function(file) { // Вызвать с объектом File

var reader = new FileReader; // Создать объект FileReader

reader.readAsText(file); // И прочитать файл

reader.onload = function { // В случае успешного чтения

callback(reader.result); // Передать данные функции callback

}

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;

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

Поделиться:
Популярные книги

Воплощение Похоти

Некрасов Игорь
1. Воплощение Похоти
Фантастика:
юмористическое фэнтези
попаданцы
рпг
аниме
5.00
рейтинг книги
Воплощение Похоти

Двойник Короля 5

Скабер Артемий
5. Двойник Короля
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Двойник Короля 5

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Древесный маг Орловского княжества 9

Павлов Игорь Васильевич
9. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 9

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Бояръ-Аниме. Газлайтер. Том 30

Володин Григорий Григорьевич
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30

Князь Целитель 5

Ткачев Андрей Юрьевич
5. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Князь Целитель 5

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Кодекс Охотника. Книга ХХХ

Винокуров Юрий
30. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга ХХХ

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

Убивать чтобы жить 5

Бор Жорж
5. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 5

Я все еще царь. Книга XXXI

Дрейк Сириус
31. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я все еще царь. Книга XXXI

Последний Паладин. Том 11

Саваровский Роман
11. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 11