FileUtil工具类 用于 AIR

本文介绍了一个针对Flash中File类的操作封装,包括文件和目录的创建、文件复制等功能,并提供了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于最近在写 地图编辑器 发现频繁的需要对文件进行操作 所以将File类进行一些封装       后话:争起在年前完成以及出一个游戏demo

 

 

 

类 :

 

 

 

 package utils.air
{
 import flash.events.Event;
 import flash.events.IOErrorEvent;
 import flash.filesystem.File;
 import flash.filesystem.FileMode;
 import flash.filesystem.FileStream;
 
 import mx.controls.Alert;
  
 
 
 public class FileUtil
 {
  public function FileUtil()
  {
  }
  /*
   * url 既可以是nativePath 也可以是  url
  */
  public static function createDirectory (url:String):File{
   
   
   
   var file:File=File.desktopDirectory;
  
   if(url.charAt(0)=="f"){
    file.url=url;
   }
   else {
   
    file.nativePath=url
   }
   
   if(!file.exists){
    ///创建文件夹
    
    file.createDirectory();
   }
   
   
   return file;
   
   
   
  }
  
  public static function  createResoveDirector(rootFile:File,resovePath:String):File{
  
  
    var file:File=File.desktopDirectory;
    var url:String=rootFile.url;
    url=url+"/"+resovePath;
    file= FileUtil.createDirectory(url);
   
   return file;
   
   
   
  }
  
  
  
  
  
   /* 
    设置 File 的路径,如果有指定的File路径则直接返回 该路径,  如果设置的File.url 路径不存在  则创建该路径并返回路径  返回的是url路径
    */ 
  public static  function setDirectoryURL(url:String):String{
  
  var file:File=FileUtil.createDirectory(url);
  
  return file.url;
   
   
   
  }
  
  
  
  
  
  public static function createFile(file:File,resovePath:String,content:String=""):File{
   
   // libsFile.directory=file;
   
   ////创建文件
   var myF:File=file.resolvePath(resovePath);
   var fileStream:FileStream=new FileStream();
   fileStream.open(myF,FileMode.WRITE);
   fileStream.writeMultiByte(content,"gb2312");
   fileStream.close();
   return myF;
   
  }
  public static function createXMLFile(file:File,resovePath:String,content:String=""):File{
   
   // libsFile.directory=file;
   
   ////创建文件
   var myContent:String='<?xml version="1.0" encoding="utf-8"?>/n';
   myContent+=content;
   return FileUtil.createFile(file,resovePath,myContent);
   
  }
  
  
  
  
  
  /*
   * 复制 文件  或者目录   复制的过程中  假如有相同的文件存在,则会将原来的文件覆盖掉     返回复制后的文件对象
    @param   originalFile 是要复制的文件源对象 
    @param   url   指的是文件File的 的url路径 形式类似于  file:///C:/   并且是绝对路径    url网络形式路径, 是复制后 的副本对象
  */
  
  public static function copyFileToAsync(originalFile:File,url:String):void{
  var newFile:File=File.desktopDirectory;
  newFile.url=url;
  
  originalFile.copyToAsync(newFile,true);
  originalFile.addEventListener(Event.COMPLETE,onComplete);
  originalFile.addEventListener(IOErrorEvent.IO_ERROR,onError);

  
   //return newFile;
   
   
  
  }
  private  static function  onComplete(e:Event):void{
  
  Alert.show("文件复制完成","提示");
   
  }
  private static function onError(e:IOErrorEvent):void{
  
  Alert.show("复制文件发生错误","错误");
   
  }
  
  
    
  
  
  
 }
}

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值