В проигрывателе Adobe Flash Player 10 к классу FileReference добавлены методы
load()
и
save()
. Эти методы также присутствуют в AIR 1.5, и класс File наследует их из класса FileReference. Эти методы были разработаны для обеспечения пользователей безопасными средствами загрузки и сохранения данных их файлов в проигрыватель Adobe Flash. Но приложения AIR могут также использовать эти методы как простой способ асинхронной загрузки и сохранения файлов.
Например, в следующем коде строка сохраняется в текстовый файл:
var file:File = File.applicationStorageDirectory.resolvePath("test.txt");
var str:String = "Hello.";
file.addEventListener(Event.COMPLETE, fileSaved);
file.save(str);
function fileSaved(event:Event):void
{
trace("Done.");
}
Параметр
data
метода
save()
может принимать значения String, XML или ByteArrayЗ. Если значением аргумента является String или XML, метод сохраняет файл как текстовый файл с кодировкой UTF-8.
При выполнении этого демонстрационного кода приложение открывает диалоговое окно, в котором пользователь выбирает местоположение для сохраненных файлов.
В следующем коде загружается строка из текстового файла с кодировкой UTF-8:
var file:File = File.applicationStorageDirectory.resolvePath("test.txt");
file.addEventListener(Event.COMPLETE, loaded);
file.load();
var str:String;
function loaded(event:Event):void
{
var bytes:ByteArray = file.data;
str = bytes.readUTFBytes(bytes.length);
trace(str);
}
Класс FileStream предоставляет больше функциональных возможностей, чем методы
load()
и
save()
:
-
Используя класс FileStream, можно считывать и записывать данные как синхронно, так и асинхронно.
-
Использование класса FileStream позволяет выполнить инкрементальную запись в файл.
-
Использование класса FileStream позволяет открывать файл для произвольного доступа (как для чтения, так и для записи любого раздела файла).
-
Класс FileStream позволяет указывать имеющийся тип доступа к файлу, устанавливая параметр
fileMode
в методе
open()
или
openAsync()
.
-
Класс FileStream позволяет сохранять данные в файлы, не предлагая пользователю диалоговые окна открытия или сохранения файлов.
-
При чтении данных с помощью класса FileStream можно напрямую использовать типы, отличные от байтовых массивов.