加载资源 — Data

这里的Data指的是文件,比如.txt,.xml等。

package

{

	import flash.display.Sprite;

	import flash.events.Event;

	import flash.net.URLLoader;

	import flash.net.URLLoaderDataFormat;

	import flash.net.URLRequest;

	import flash.system.System;

	/**

	 * ...

	 * @author zhujl

	 */

	public class LoadData extends Sprite

	{

		public var loader:URLLoader;

		

		public function LoadData() 

		{

			System.useCodePage = true;

			init();

		}

		

		public function init()

		{

			loader = new URLLoader();

			loader.dataFormat = URLLoaderDataFormat.TEXT;

			loader.addEventListener(Event.COMPLETE, onLoadCompleted);

			

			loader.load(new URLRequest('1.txt'));

		}

		

		public function onLoadCompleted(e: Event)

		{

			trace(loader.data);

		}

		

	}

	

}


注意:我在构造函数的第一句写了System.useCodePage = true,这句是干嘛的呢?来看文档的解释:
 

一个布尔值,它告诉 Flash Player 使用哪个代码页来解释外部文本文件。 当该属性设置为 false 时,Flash Player 使用 Unicode 解释外部文本文件。 (保存这些文件时,必须使用 Unicode 对其进行编码。) 当该属性设置为 true 时,Flash Player 使用运行播放器的操作系统的传统代码页来解释外部文本文件。 useCodePage 的默认值是 false。


所以,如果加载的文件是UTF-8编码的,可以不写这句;如果文件的编码为ANSI,但又有中文字符,就要写这句,不然加载进来的数据会有乱码。


还有一个需要注意的,通过loader.dataFormat = URLLoaderDataFormat.TEXT,可以设置以何种方式来读取文件:

  URLLoaderDataFormat.TEXT 表示以文本形式来读取(默认)

  URLLoaderDataFormat.BINARY 表示以二进制形式来读取

  URLLoaderDataFormat.VARIABLES 表示以变量形式来读取

你可能感兴趣的:(Data)