load() メソッドおよび save() メソッドの使用Flash Player 10 以降、Adobe AIR 1.5 以降 Flash Player 10 では、FileReference クラスに load() メソッドおよび save() メソッドが追加されています。これらのメソッドは AIR 1.5 にもあり、File クラスがこれらのメソッドを FileReference クラスから継承しています。これらのメソッドは、Flash Player でユーザーが安全にファイルデータの読み込みや保存を行うことができるように設計されています。しかし、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() メソッドよりも多くの機能を使用できます。次に例を示します。
|
|