private function readTxt():void { var file:File = File.desktopDirectory; var txtfilter:FileFilter = new FileFilter("Text","*.as;*.css;*.txt;*.java;*.html;*.htm;*.xml"); file.browseForOpen("Open",[txtfilter]); file.addEventListener(Event.SELECT,function(e:Event):void{ var file:File = new File(e.target.nativePath); var filestream:FileStream = new FileStream; filestream.open(file,FileMode.READ); var bytes:ByteArray = new ByteArray; filestream.readBytes(bytes,0,file.size); var name:String = transEncodingText(bytes); var arr:Array = name.split("/r"); if(arr!=null && arr.length>0){ for(var i:int=0;i<arr.length;i++){ //if(String(arr[i]).indexOf("//")==-1){ if(i!=0){ var obj:Object = readSplitArray(arr[i],i); hashMap.put(i,obj); } //} } } MathUtil.hashMap = hashMap; model.drawState=MapEditConst.DRAWWALKABLE; trace("this.txtMapLayer ="+this.txtMapLayer); //this.mapLayer.drawWalkable(60, 60, model.drawState); Alert.show("导入text文件成功"); filestream.close(); }); } private var hashMap:HashMap = new HashMap(); private function readSplitArray(h:String,v:int):Object{ var hArr:Array=h.split("/t"); var obj1:Object = new Object(); for(var i:int=0;i<hArr.length;i++){ obj1[i] = hArr[i]; } return obj1; } private function transEncodingText(bytes:ByteArray):String { // 1. unicode 文档 开头 16进制码为 FF FE ,对应 十进制 数 为 255,254 if (bytes[0]==255 && bytes[1]==254){ return bytes.readMultiByte(bytes.length,"unicode"); } // 2.unicode big endian 开头 16进制 为 FE FF,对应十进制数 为 254,255 if (bytes[0]==254 && bytes[1]==255){ return bytes.readMultiByte(bytes.length,"UTF-16BE"); } // 3.utf-8 开头 16进制 为 EF BB ,对应 十进制 数 为 239,187 if (bytes[0]==239 && bytes[1]==187){ return bytes.readMultiByte(bytes.length,"utf-8"); } // 默认采用系统编码 读取 return bytes.readMultiByte(bytes.length,File.systemCharset); } //写文件 var file:File = File.desktopDirectory; var name:String = file.nativePath.toString(); name+="/editGuaiwu.txt"; var _file:File = new File(name); var stream:FileStream = new FileStream(); stream.open(_file,FileMode.WRITE); var nam1:String="id"+"/tlnpcId"+"/t"+"skin"+"/t"+"type"+"/t"+"grade"+"/t"+"rushPoint"+"/t"+"clearTime"+"/t"+"waitTime"+"/t"+"arrtibute"+"/t" +"plunder"+"/t"+"belong"+"/t/r"; stream.writeUTFBytes(nam1); stream.close();