[AIR] 读写数据

新建两个Flash AIR文档read.fla,write.fla;write.fla作为写入数据,read.fla作为读取数据,仅作为测试的例子。

在write.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是扩展名,可任意命名;

在read.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读写数据是按顺序读写的,先写先读,后写后读;

posted on 2015-04-23 16:56  晏过留痕  阅读(231)  评论(0编辑  收藏  举报