Flash AS3.0如何在文本文件仍由C ++程序编写时读取文件文本?

时间:2011-01-21 07:39:28

标签: flash actionscript-3 actionscript

Flash AS3.0如何在文本文件仍由C ++程序编写时读取文件文本?

我有一些我之前问过的代码+我修改了一些代码但它只能读取完全写入的文本文件。

import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;

var toLoad:URLRequest = new URLRequest("example.txt");
var loader:URLLoader = new URLLoader(toLoad);
loader.addEventListener(Event.COMPLETE, loaded, false, 0, true);

function loaded(evt:Event):void
{
    var txtData:String = evt.currentTarget.data;
    txtData = txtData.replace(/^\s+/, '');
    txtData = txtData.replace(/\s+/g, ' ');
    txtData = txtData.replace(/\s+$/, '')
    var textAr:Array = txtData.split(" ");
 var xArray:Array = new Array;
 var yArray:Array = new Array;
 var i=0;
 var ii = textAr.length;
 while (i < ii)
 { 
  if (textAr[i] != "---")
  {
   xArray.push(textAr[i]);
   yArray.push(textAr[i+1]);
   i+=2;
  }
  else 
  {
   xArray.push("-");
   yArray.push("-");
   i++;
  }
 }
}

现在我的任务是读取实时文件并将xArray和yArray发送到另一个函数,但我不知道如何编写它。

拜托,帮助我。

1 个答案:

答案 0 :(得分:1)

我不确定C ++程序是如何编写文件的,但我认为它没什么特别的,它只是打开文件,写入内容并关闭它。问题是,在C ++关闭文件之前,内容不会保存在磁盘上(从而保存文件)。

因此,要解决您的问题,您应该修改C ++程序(如果可以的话),将内容的一小部分写入文件,然后关闭它并再次打开它。你的flash程序也一样。它不是实时的,但它足够接近。

无论如何,文本文件不是实时阅读的最佳选择。您可以使用套接字或其他东西在C ++和Flash之间进行通信。