如何将文件写入特定目录?

How to write files to a specific directory?

我正在尝试让用户 select 一个目录,然后将文件写入该目录。

我有这段代码可以让用户浏览目录:

var file:flash.filesystem.File = new flash.filesystem.File();
file.browseForDirectory("Select a directory");
file.addEventListener(Event.SELECT, selectHandler);

protected function selectHandler(event:Event):void {
    // these contain the path where I want to save files to
    Object(fileReference).url;
    Object(fileReference).nativePath;
    // how do I create a file in that directory?
}

如何在用户 select 的目录中创建文件?

您的 select 处理程序代码似乎不正确。您应该通过执行 event.currentTarget 而不是 Object 或 fileReference 来获取作为 File 类型对象的文件夹的引用。

接下来您可以使用 FileStream class 创建一个文件。您的 selectHandler 代码应如下所示:

protected function selectHandler(event:Event):void 
{
    var targetDirectory:File = event.currentTarget as File;
    var file:File = targetDirectory.resolvePath("htmlFile.html");
    var stream:FileStream = new FileStream();
    stream.open(file, FileMode.WRITE);
    stream.writeUTFBytes("Any Text you want to create");
    stream.close();
}

将在 AIR 项目中工作。

希望这能回答您的问题。