使用Adobe Air保存本地文件

时间:2013-03-12 06:05:30

标签: actionscript-3

在制作桌面应用程序时,有时需要保存文件。我正在使用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();
            }
        }
}

鼠标点击事件可能是必要的 - 无论如何都是使用FileReference。 我正在使用flex编译器amxmlc

进行编译
amxmlc -static-link-runtine-shared-libraries example.as

我尝试直接从Flash播放器运行,并创建一个独立的可执行文件,并通过Flash播放器和浏览器运行它。我在Windows文档目录中看不到新文件 - 如何更改?

1 个答案:

答案 0 :(得分:0)

首先,您不需要与File类进行“用户互动”,因为FileReference确实需要这样做。

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

有关编译应用的详细信息,请参阅这些资源:

  1. Using Flex SDK

  2. Using amxmlc