admin管理员组文章数量:1531792
2024年5月12日发(作者:)
ActionScript编程 加载文本格式数据
作用:
读取外部的文本文件,并将其内容加载到应用程序中。
说明:
ActionScript 3.0使用URLLoader来加载外部数据。该类以文本、二
进制数据或URL编码变量的形式从指定的URL地址加载数据,可以用
于加载文本文件、XML或其它要用于数据驱动的动态ActionScript应用
程序中的信息。
通过new运算符和URLLoader()构造函数可以创建URLLoader对象,
方法如下所示。
var loader:URLLoader = new URLLoader(request);
URLLoader()构造函数可以接受一个request参数,表示一个
URLRequest对象,指定要加载的URL地址。如果省略该参数,则不执
行加载操作;如果已指定参数,则立即执行加载操作。
URLLoader对象包含bytesLoaded、bytesTotal、data和dataFormat
属性,其详细介绍如下所示。
bytesLoaded 指示加载操作期间到目前为止加载的字节数。
bytesTotal 指示所下载数据中的字节总数。正在进行加载操作时该属
性包含0,完成操作时会填充该属性。另外,丢失的Content-Length标
题将会导致bytesTotal不确定。
data 从加载操作接收的数据。只有完成加载操作时,才会填充该属性。
该数据的格式取决于dataFormat属性的设臵,如表24-1所示。
表24-1 数据格式
dataFormat属性值
字符串。
所接收的数据是一个包含原始二进制数据的
ByteArray对象。
描述
所接收的数据是一个包含已加载文件文本的
LES
所接收的数据是一个包含URL编码变量的
URLVariables对象。
dataFormat 控制是以文本()、原始二进
制数据()还是URL编码变量
(LES)接收下载的数据。默认值为
。
URLLoader对象会先从URL中下载所有数据,然后才将数据用
于ActionScript。它会发出有关下载进度的通知,通过bytesLoaded
和bytesTotal属性以及已调度的事件,可以监视下载进度。
URLLoader对象包含有URLLoader()、close()和load()方法,用于创
建新的URLLoader对象、关闭加载以及发送和加载数据,详细介绍如
下所示。
URLLoader() 创建URLLoader对象。
close() 关闭进行中的加载操作。任何正在进行中的加载操作将立即终
止。如果当前未对URL进行流式处理,将引发无效流错误。
load() 从指定的URL发送和加载数据。可以以文本、原始二进制数据
或URL编码变量格式接收数据,这取决于为dataFormat属性所设臵的
值。如果想将数据发送至指定的URL,则可以在URLRequest对象中设
臵data属性。
使用load()方法时,如果要加载的文件包含非ASCII字符(在许
多非英语的语言中出现),则建议使用UTF-8或UTF-16编码(而不
是ASCII等非Unicode格式)来保存文件。
URLLoader对象可以调度以下6个事件,用于响应加载开始、加载
错误、加载完成等动作,详细介绍如下所示。
complete 在对所有已接收数据进行解码并将其放在URLLoader对象
的data属性中以后调度。调度该事件后,可以访问已接收的数据。
httpStatus 如果对()的调用尝试通过HTTP访问数据并
且当前的Flash Player环境能够检测并返回该请求的状态代码,则进行
调度。注意,在发送任何complete或error事件之前还将发送httpStatus
事件(如果在有的情况下)。
ioError 如果对()的调用导致致命错误并因此终止了下
载,则进行调度。
progress 在下载操作过程中收到数据时调度。注意,对于URLLoader
对象,在完全接收数据前无法访问该数据。因此,该progress事件仅用
作有关下载进展的通知。
securityError 如果对()的调用尝试从安全沙箱外部的
服务器加载数据,则进行调度。
创建URLRequest和URLLoader对象,可以用于加载外部文本文件
的内容,如下所示。
var request:URLRequest = new URLRequest("");
var loader:URLLoader = new URLLoader();
(request);
可以简化上面的代码,如下所示。
var loader:URLLoader = new URLLoader(new URLRequest(""));
示例:
在相同文件夹中存在一个名称为myTxt的文本文件,通过
URLRequest对象和URLLoader对象加载该文本文件,并侦听该文件的
加载开始、加载完成和加载错误事件。当加载完后,将其内容显示在
文本字段中,如下所示。
import uest;
import der;
import ;
import ssEvent;
import rEvent;
//导入所需的类
var request:URLRequest = new URLRequest("");
//获取myTxt文本文件的URL地址
var loader:URLLoader = new URLLoader();
(request);
ntListener(,onOpen);
ntListener(TE,onComplete);
ntListener(_ERROR,onIoError);
//侦听加载开始、加载完成和加载错误事件
function onOpen(event:Event):void{
trace("开始加载");
}
function onComplete(event:Event):void{
trace("加载完成");
var str:String = ;
//将加载的数据转换为字符串值
var filed:TextField = createTextField(str,50,10);
//通过调用createTextField()函数,将获取的文本文件内容显示在文本字段
中
}
function onIoError(event:IOErrorEvent):void{
trace("加载错误:" + event);
}
//创建文本字段函数
function createTextField(str:String,x:int,y:int):TextField{
var field:TextField = new TextField();
= str;
field.x = x;
field.y = y;
ap = true;
= 400;
ze = ;
= true;
addChild(field);
return field;
}
版权声明:本文标题:ActionScript编程 加载文本格式数据 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1715485942a454583.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论