[Flash]AS 3.0读取ini文件

开始先说明几个知识点

1.Flash的URLLoader可以加载xml文件和部分文本文件(txt,ini)

2.AS 3.0的String类的部分函数用法

    2.1 indexOf(String):类似c++中的find,主要是在字符串中找字符,成功找到就返回字符的位置

    2.2 substr:和c++中的substr一样,用于截取字符串(貌似这个截取会使字符串前面多一位,最好一位一位输出看一下)

好了,话不多说,上代码

//引入我们需要的包
import flash.net.URLLoader;
import flash.events.Event;

var MAX_PARA:int=14;//keyword的数量,包含keyword
var Data:Array=new Array();//所有的数据集合
var loader:URLLoader=new URLLoader();//实例

//举个例子,例如我想读ini文件中的Port配置
var Port:int;


//把数据转换成数组
function LoadFile(bStr:String):void
{
	//trace(bStr.length);
    //一行一行找换行符
	for(var i:int =0;i<MAX_PARA;i++)
	{
		var pos:int=bStr.indexOf("\r\n");
		if(pos>0)
		{
			Data.push(bStr.substr(0,pos));
	        bStr=bStr.substr(pos+1);
		}
	}
	//trace(Data.length);
	for(var j:int =0;j<Data.length;j++)
	{
		//trace(Data[j]);
		var bKeyLine=Data[j].toString();
		//trace(bKeyLine,"Port");
		Analysis(bKeyLine,"Port");
	}
}

//读取所有的数据
loader.addEventListener(Event.COMPLETE,onComplete);
loader.load(new URLRequest("Para.ini"));
function onComplete(e:Event):void
{
	//trace(loader.data);
	var bStr:String=loader.data;
    LoadFile(bStr);
}

//对数据进行分析找到,我们要找的key
function Analysis(keyLine:String,key:String)
{
	var pos:int=keyLine.indexOf("=");
	if(pos<1)
	{
		return;
	}
    ///
    //这里重点说一下,开始截取的字符串的前面老是有一位空格,无奈换成1,pos-1
    
	var tmpKey:String=keyLine.substr(1,pos-1);
	trace(tmpKey);
	trace(tmpKey.length);
    //trace(key.length);
	if("Port"==tmpKey)
	{
		Port=int(keyLine.substr(pos+1));
		trace(Port);
	}
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值