知道文件位于 applicationStorageDirectory 中,则以下代码非常适合重命名文件
var sourceFile:File = File.applicationStorageDirectory;
sourceFile = sourceFile.resolvePath("Kalimba.snd");
var destination:File = File.applicationStorageDirectory;
destination = destination.resolvePath("test.snd");
try
{
sourceFile.moveTo(destination, true);
}
catch (error:Error)
{
trace("Error:" + error.message);
}
如果您所拥有的只是字符串中文件的本机路径,如何设置 sourceFile?喜欢这个:
D:SoftwarefilestestList.db
这将引发错误:
sourceFile = sourceFile.resolvePath("D:SoftwarefilestestList.db");
这个想法是我想重命名我之前加载到 var 中的文件。我想我会提取字符串变量的本机路径,将文件变量清空(因此操作系统不会告诉我在闪存中打开文件时无法重命名),将该本机路径解析为源文件,并使用 moveTo 重命名硬盘驱动器上的文件。
欢呼看看。
编辑:
我已经设置了一个测试AIR应用程序,其中只有以下内容:
import flash.events.*;
import flash.filesystem.*;
var original = File.documentsDirectory;
original = original.resolvePath("D:\Software\test\October.db");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("copy.db");
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.");
}
此操作失败,使用 D:\Software\test\October 也是如此.db
我想我想知道的是 - 如果您已经知道完整路径,您如何做 resolvePath 的事情?
我想我想知道的是 - 如果您已经知道完整路径,您如何做 resolvePath 的事情?
你不AFAIK。如果你的路径实际上是d:\software\test\October.db你可以设置一个文件引用,如下所示:
var original:File = new File();
original.nativePath = "d:softwaretestoctober.db";