这是公司项目所用到的其中一部分功能,代码如下:主要是用了file和filefilter类,file主要用来读写文件操作,而filefilter则是起到过滤作用,
??? //打开
?? ??? ??? ?/*
?? ??? ??? ?**从文件浏览里选择文件传过来文件路径
?? ??? ??? ?**打开预算书文件,注册各类信息
?? ??? ??? ?*/
?? ??? ??? ?private function isOpen():void{
?? ??? ??? ??? ?var file:File;
?? ??? ??? ??? ?var filter:FileFilter = new FileFilter( ".db","*.db3;*.db");
?? ??? ??? ??? ?file = File.desktopDirectory;
?? ??? ??? ??? ?try
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?file.browseForOpen("打开",[filter]);
?? ??? ??? ??? ??? ?file.addEventListener(Event.SELECT,openCall);
?? ??? ??? ??? ?}
?? ??? ??? ??? ?catch (error:Error)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?trace("错误:",error.message);
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?private function openCall(event:Event):void{?? ??? ??? ??? ?
?? ??? ??? ??? ?database.yFile = event.target as File;
?? ??? ??? ??? ?openYuget(database);
?? ??? ??? ??? ?titleName = appName +" "+ database.yFile.nativePath;
?? ??? ??? ??? ?//定位到工程概况页面
?? ??? ??? ??? ?cursorManager.setBusyCursor();
?? ??? ??? ??? ?showPage(projectOverview);
?? ??? ??? ??? ?myAccordion.selectedChild = projectInfoCan;
?? ??? ??? ??? ?cursorManager.removeBusyCursor();?? ?
?? ??? ??? ??? ?
?? ??? ??? ?}
当然,也可以把方法变为以下代码,来限制读取类别(只限于txt文件)
private function selectHandler(e:Event):void { var fileStream:FileStream=new FileStream(); fileStream.open(e.target as File,FileMode.READ); var fileData:String=fileStream.readMultiByte(fileStream.bytesAvailable,"gb2312"); text.text=fileData; }