使用 load() 和 save() 方法Flash Player 10 以及更新的版本,Adobe AIR 1.5 以及更新的版本 Flash Player 10 為 FileReference 類別加入了 load() 和 save() 方法。AIR 1.5 也有這兩個方法,而 File 類別繼承了 FileReference 類別的方法。這些方法的設計是為了讓使用者在 Flash Player 中安全地進行檔案資料的載入和儲存。不過,AIR 應用程式也可以將這些方法做為一個能讓檔案進行非同步載入和儲存的簡易途徑。 例如,以下的程式碼會將一個字串儲存到文字檔中: var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); var str:String = "Hello."; file.addEventListener(Event.COMPLETE, fileSaved); file.save(str); function fileSaved(event:Event):void { trace("Done."); } save() 方法的 data 參數可以接受 String、XML 或 ByteArray 類型的值。若引數為 String 或 XML 類型的值,這個方法就會將檔案儲存為 UTF-8 編碼的文字檔。 當此程式碼樣本執行時,應用程式會顯示一個對話方塊來讓使用者選取檔案的儲存目標。 以下的程式碼會從 UTF-8 編碼的文字檔中載入一個字串: var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); file.addEventListener(Event.COMPLETE, loaded); file.load(); var str:String; function loaded(event:Event):void { var bytes:ByteArray = file.data; str = bytes.readUTFBytes(bytes.length); trace(str); } FileStream 類別所提供的功能比 load() 和 save() 方法所提供的功能還多:
|
|