as3能从文件中读取内容吗?

来源:互联网 发布:中文域名有价值吗 编辑:程序博客网 时间:2024/05/29 03:15
测试代码如下:
  1. #include "AS3.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>

  5. static AS3_Val file_open(void *data,AS3_Val args)
  6. {
  7.         char* val = NULL;
  8.         char filetext[1024];
  9.         int num;
  10.         AS3_Val reArra;
  11.         AS3_ArrayValue(args,"StrType",&val);
  12.        
  13.                AS3_Trace(AS3_String(val));
  14.         FILE *fp = fopen(val,"r");;
  15.         if( fp == NULL)
  16.         {
  17.                 AS3_Trace(AS3_String("open file lose"));
  18.                 memcpy(filetext,val,strlen(val));
  19.                 num = -1;
  20.         }
  21.         else
  22.         {
  23.                 fgets(filetext,sizeof(filetext),fp);
  24.                 AS3_Trace(AS3_String(filetext));       
  25.                 num = 1;
  26.         }
  27.         reArra = AS3_Array("IntType,StrType",num,filetext);
  28.        
  29.         return reArra;
  30. }
  31. void lib_reg(AS3_Val lib, const char *name, AS3_ThunkProc p)
  32. {
  33.         AS3_Val fun = AS3_Function(NULL, p);
  34.         AS3_SetS(lib, name, fun);
  35.         AS3_Release(fun);
  36. }
  37. int main()
  38. {
  39.         AS3_Val result = AS3_Object("");
  40.         lib_reg(result,"file_open",file_open);
  41.         AS3_LibInit( result );
  42.         return 0;
  43. }
复制代码
  1. ackage
  2. {
  3.         import flash.display.Sprite;
  4.         import flash.text.TextField;
  5.         import flash.text.TextFieldType;

  6.         //引用包
  7.         import cmodule.hello.CLibInit

  8.         public class hello extends Sprite
  9.         {
  10.                 public function hello()
  11.                 {
  12.                         //初始化库
  13.                         var loader:CLibInit = new CLibInit();
  14.                         var lib:Object = loader.init();                  
  15.                        
  16.                         var aarry:Array = lib.file_open("C:\\alchemy\\samples\\stringecho\\test_xu\\test1\\log.txt");
  17.                         trace(aarry[0]);
  18.                         trace(aarry[1]);
  19.                                
  20.                 }
  21.         }
  22. }

 

 

当然后方法了,可以发一个消息给其他的语言,然后由那个语言来改这个文件的内容,不过你要读呀,这完全就可以用非AIR的AS3来实现了,

  1. var r:URLRequest = new URLRequest("file:\\.............\\.......");
  2. var l:URLLoader = new URLLoader();
  3. l.addEventListener(Event.COMPLETE, complete);
  4. l.load(r);
  5. function complete(e:Event):void {
  6. trace(URLLoader(e.target).data);
  7. }

FileReferecne.load    和 URLLoader.load  都可以读取文件的。

 

原创粉丝点击