今天第4部分的文件API详解,给各位说说删除和放入回收站的部分,同样这2个部分也是API文件访问API中跨平台的公用API。在开始讲解这个部分前,我想有个小提示,各位从这个部分和前三个部分的讲解中,看到的文件操作模式,全部是同步(sync)模式,关于异步(Async)模式,放到后面再集中解释。
删除文件夹和删除文件是两个独立的方法,删除文件夹是deleteDirectory(),删除文件是deleteFile()。我们先来看deleteDirectory()方法,删除一个文件夹,最简单的代码是:
var delDirectory:File=File.desktopDirectory.resolvePath("myAIRDirectory");
delDirectory.deleteDirectory()
假设一,myAIRDirectory文件夹不存在,结果是Error #3003: File or directory does not exist。文件夹不存在,太白痴的假设一,开发者千万别犯这种错误。
假设二,myAIRDirectory文件夹存在,是个空文件夹。结果文件夹被成功删除。修改deleteDirectory()中的参数为true,再执行一次操作(恢复被删掉的myAIRDirectory),结果仍然是成功。证明false和true的参数值对空文件家没有作用。
假设三,myAIRDirectory文件夹存在,该文件夹内有一个子文件夹和若干文件,去掉deleteDirectory()方法中的true参数值,执行。结果是Error #3010: Directory is not empty。文件夹不能为空,可见默认deleteDirectory()的参数false,是不允许直接删除非空文件夹
假设四,将假设三中的deleteDirectory()参数改成true,执行。结果是myAIRDirectory连同其内部所有子文件夹和文件一并被删除。
所以,请慎重使用deleteDirectory(true)的方式,避免误操作。
删除文件夹还有一个比较安全的操作,叫做删除到回收站,使用起来也比较简单,我推荐你这么干,因为保险一些。这个方法命名很有趣,不是deleteToTrash,而是moveToTrash。原因很简单,因为deleteToTrash是中国式英语的理解,呵呵。
接下来,我们聊聊删除文件。这个方法是deleteFile,代码如下:
var delFile:File=File.desktopDirectory.resolvePath("1.txt");
delFile.deleteFile();
这个部分很简单,下一部分我们继续讨论文件访问API。