使用文件Adobe AIR 1.0 和更高版本 使用 AIR 文件 API,您可以向应用程序中添加基本的文件交互功能。例如,您可以读取和写入文件、复制和删除文件等。由于您的应用程序可以访问本地文件系统,因此请参阅 AIR 安全性(如果您还没有阅读该章节)。 注: 您可以将文件类型与 AIR 应用程序相关联(以便双击时可以打开应用程序)。有关详细信息,请参阅管理文件关联。
获取文件信息File 类包括以下属性,这些属性提供有关 File 对象指向的文件或目录的信息:
有关这些属性的详细信息,请参阅用于 Adobe Flash Platform 的 ActionScript 3.0 参考中的 File 类条目。 复制和移动文件File 类包括两个用于复制文件或目录的方法:copyTo() 和 copyToAsync()。File 类包括两个用于移动文件或目录的方法:moveTo() 和 moveToAsync()。copyTo() 和 moveTo() 方法以同步方式运行,copyToAsync() 和 moveToAsync() 方法以异步方式运行(请参阅 AIR 文件基础知识)。 若要复制或移动文件,请设置两个 File 对象。一个对象指向要复制或移动的文件,它是调用复制或移动方法的对象;另一个对象指向目标(结果)路径。 以下代码将 test.txt 文件从用户的文档目录的 AIR Test 子目录复制到同一目录中名为 copy.txt 的文件: var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var newFile:File = File.resolvePath("AIR Test/copy.txt"); original.copyTo(newFile, true); 在此例中,copyTo() 方法的 overwrite 参数(第二个参数)的值设置为 true。通过将 overwrite 设置为 true,可以覆盖现有目标文件。此参数是可选的。如果您将它设置为 false(默认值),则当目标文件存在时该操作调度一个 IOErrorEvent 事件(文件没有复制)。 复制和移动方法的“异步”版本以异步方式运行。使用 addEventListener() 方法可以监视任务是否完成或错误条件,如以下代码中所示: var original = File.documentsDirectory; original = original.resolvePath("AIR Test/test.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test 2/copy.txt"); original.addEventListener(Event.COMPLETE, fileMoveCompleteHandler); original.addEventListener(IOErrorEvent.IO_ERROR, fileMoveIOErrorEventHandler); original.moveToAsync(destination); function fileMoveCompleteHandler(event:Event):void { trace(event.target); // [object File] } function fileMoveIOErrorEventHandler(event:IOErrorEvent):void { trace("I/O Error."); } File 类还包括 File.moveToTrash() 和 File.moveToTrashAsync() 方法,它们将文件或目录移到系统垃圾桶。 删除文件File 类包括一个 deleteFile() 方法和一个 deleteFileAsync() 方法。这些方法删除文件,第一个方法以同步方式运行,第二个方法以异步方式运行(请参阅 AIR 文件基础知识)。 例如,以下代码以同步方式删除用户的文档目录中的 test.txt 文件: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.deleteFile(); 以下代码以异步方式删除用户的文档目录中的 test.txt 文件: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.addEventListener(Event.COMPLETE, completeHandler) file.deleteFileAsync(); function completeHandler(event:Event):void { trace("Deleted.") } 此外,还包括 moveToTrash() 和 moveToTrashAsync 方法,您可以使用这些方法将文件或目录移到系统垃圾桶。有关详细信息,请参阅将文件移到垃圾桶。 将文件移到垃圾桶File 类包括一个 moveToTrash() 方法和一个 moveToTrashAsync() 方法。这些方法将文件或目录发送到系统垃圾桶,第一个方法以同步方式运行,第二个方法以异步方式运行(请参阅 AIR 文件基础知识)。 例如,以下代码以同步方式将用户的文档目录中的 test.txt 文件移到系统垃圾桶: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.moveToTrash(); 注: 在不支持可恢复垃圾桶文件夹概念的操作系统上,会立即删除文件。
创建临时文件File 类包括一个 createTempFile() 方法,该方法在系统的临时目录文件夹中创建一个文件,如以下示例中所示: var temp:File = File.createTempFile(); createTempFile() 方法会自动创建一个唯一的临时文件(您无需确定新的唯一位置)。 您可以使用临时文件暂时存储应用程序会话中使用的信息。请注意,还有一个 createTempDirectory() 方法可以在系统临时目录中创建唯一的临时目录。 您可能需要在关闭应用程序前删除临时文件,因为不会 在所有设备上自动删除临时文件。 |
|