zoukankan      html  css  js  c++  java
  • [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读写数据是按顺序读写的,先写先读,后写后读;

  • 相关阅读:
    Sublime Text 试玩日记
    Makefile 学习
    小书匠使用手册
    较完整的解决Linux zip 压缩包中文我乱码问题
    彻底解决Android模拟器中文短信乱码问题
    博客变更
    关于如何学习一个框架的经验总结
    [JavaScript] this、call和apply详解
    类与类之间关系,用C#和JavaScript体现
    [Node.js] require背后的故事
  • 原文地址:https://www.cnblogs.com/frost-yen/p/4451063.html
Copyright © 2011-2022 走看看