[AIR]読み書きデータ

3685 ワード

新しい2つのFlash AIRドキュメントread.fla,write.fla;write.flaは書き込みデータとしてread.flaは読み出しデータとして,テストの例としてのみ用いられる.
でflaキーの最初のフレームにコードを書きます.
import flash.utils.ByteArray;

import flash.filesystem.File;

import flash.filesystem.FileStream;



const TEXT:int = 2;

var valueStr:String = "hello!"

var bytes:ByteArray = new ByteArray();

bytes.writeInt(TEXT);

bytes.writeInt(16 + valueStr.length);

bytes.writeInt(100);

bytes.writeInt(150);

bytes.writeUTFBytes(valueStr);



var file:File = File.desktopDirectory.resolvePath("test.abc");

var fs:FileStream = new FileStream();

fs.open(file, flash.filesystem.FileMode.WRITE);

fs.writeBytes(bytes, 0, bytes.length);

fs.close();

パブリッシュ後、デスクトップでtestが生成されます.abcのファイル、abcは拡張子で、任意に命名することができます;
ではflaキーの最初のフレームにコードを書きます.
import flash.utils.ByteArray;

import flash.filesystem.File;

import flash.filesystem.FileStream;

import flash.text.TextField;



const TEXT:int = 2;

var bytes:ByteArray = new ByteArray();



var file:File = File.desktopDirectory.resolvePath("test.abc");

var fs:FileStream = new FileStream();

fs.open(file, flash.filesystem.FileMode.READ);

fs.readBytes(bytes);

fs.close();



if (bytes.readInt() == TEXT)

{

    var length:int = bytes.readInt();

    var tx:int = bytes.readInt();

    var ty:int = bytes.readInt();

    var str:String = bytes.readUTFBytes(length - 16);

    var t:TextField = new TextField();

    t.x = tx;

    t.y = ty;

    t.text = str;

    addChild(t);

}

発表するとwrite.flaが書き込むデータはread.flaから読み出しました.
File読み書きデータは順番に読み書きされ、先に書いて先に読み、後に書いてから読む.