0

在制作桌面应用程序时,有时需要保存文件。我为此使用了 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 文档目录中看不到新文件 - 如何更改?

4

1 回答 1

0

首先,您不需要与File类的“用户交互”,因为FileReference.

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

有关编译应用程序的更多信息,请参阅这些资源:

  1. 使用 Flex SDK

  2. 使用 amxmlc

于 2013-03-12T06:45:04.610 回答