2013-03-12 148 views
0

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

我无法使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 Player中运行,以及创建一个独立的可执行文件,并通过运行它通过Flash播放器和浏览器。我在windows文档目录中没有看到新文件 - 这怎么改变?

+0

它的工作原理!我从Flash Professional 5.5编译。我找不到任何问题。 – skabir 2013-03-12 06:43:09

回答

0

首先,您不需要与“File”级别的“用户交互”,因为确实需要FileReference

您必须使用AIR SDK将您的代码作为AIR应用程序进行编译,然后将其安装到您的机器上。您的SWF文件不会直接工作。

请参阅这些资源,进一步了解有关编译您的应用程序:

  1. Using Flex SDK

  2. Using amxmlc