2013-03-12 121 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