SharedObjectとByteArrayのテスト

ActionScriptには、ブラウザで言うところのCookieのような機能を持つSharedObjectというのがある。
また、自由にバイナリデータを使用できるByteArrayというクラスもある。
どちらもあまり使ったことがなかったので、この二つを組み合わせたテストコードを書いてみた。
1回目の起動ではSharedObjectに格納し、2回目以降ではSharedObjectから読み出すだけ、というコードです。

/* TestObject.as */
package {
  import flash.display.Sprite;
  import flash.net.SharedObject;
  import flash.utils.ByteArray;
  
  public class TestObject extends Sprite
  {
    // SharedObjectのキーワード.
    public const so_name:String = "TEST2";
    
    public function TestObject()
    {
      // 読み出しチェック.
      // SharedObjectを準備して、そこにコピー.
      var so:SharedObject = SharedObject.getLocal( so_name );
      if( so.size == 0 ){
        // 1回目の起動:まだデータがないので格納します.
        var orgArray:ByteArray = new ByteArray();
        orgArray.writeUTF( "Hello" );
        orgArray.writeUTF( "SharedObject" );
        orgArray.writeUTF( "World" );
        orgArray.compress();  // 圧縮.
        
        so.data.array = orgArray;
        trace("store!");
      }
      else{
        // 2回目以降:データを取得できたので、表示します.
        var storedBA:ByteArray = so.data.array as ByteArray;
        storedBA.uncompress();  // 解凍.
        
        // 格納されているのはすべて文字列という前提で処理.
        while( storedBA.position < storedBA.length ){
          trace( storedBA.readUTF() );
        }
        trace( "done." );
      }
    }
  }
}