Actionscript 3 使用AdobeAIR保存本地文件

Actionscript 3 使用AdobeAIR保存本地文件,actionscript-3,Actionscript 3,在制作桌面应用程序时,有时需要保存文件。我使用FileReference进行此操作,但它会打开一个对话框,询问保存文件的位置,而不是自动保存到具有特定文件名的特定目录中 我无法使FileStream正常工作。我在一个小例子中重复了这一点 package { import flash.display.*; import flash.text.*; import flash.events.*; import flash.net.*; import flash.uti

在制作桌面应用程序时,有时需要保存文件。我使用FileReference进行此操作,但它会打开一个对话框,询问保存文件的位置,而不是自动保存到具有特定文件名的特定目录中

我无法使FileStream正常工作。我在一个小例子中重复了这一点

package {
import flash.display.*;
    import flash.text.*;

    import flash.events.*;
    import flash.net.*;
    import flash.utils.ByteArray; 
        import flash.filesystem.*;
        public class example extends MovieClip
        {
            public function example()
            {
            stage.addEventListener(MouseEvent.CLICK, mouseclick);

            }
            public function mouseclick(event:Event):void
            {
            var file:File = File.documentsDirectory.resolvePath("myfile.txt");
            var stream:FileStream = new FileStream();
            stream.open(file, FileMode.WRITE);
            stream.writeUTFBytes("text");
            stream.close();
            }
        }
}
mouseclick事件可能是必需的-无论如何,它都是与FileReference一起发生的。 我正在使用flex编译器amxmlc进行编译

amxmlc -static-link-runtine-shared-libraries example.as

我尝试过直接从flash player运行,以及创建一个独立的可执行文件,并通过flash player和浏览器运行。我在windows documents目录中没有看到新文件-如何更改此目录?

首先,您不需要与
文件
类进行“用户交互”,因为
文件引用
确实需要它

您必须使用AIR SDK将代码编译为AIR应用程序,然后将其安装到您的计算机上。您的
SWF
文件无法直接工作

有关编译应用程序的更多信息,请参阅以下参考资料:


  • 它起作用了!我是从FlashProfessional5.5编译的。我找不到任何问题。