如何将文件写入特定目录?
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 项目中工作。
希望这能回答您的问题。
我正在尝试让用户 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 项目中工作。
希望这能回答您的问题。