現在、POP3のプロトコルをSocketクラスを使って読み込むサンプルを作成していたが、
ByteArrayに書き込んだデータを読もうとしても、常に0(ゼロ)になってしまい、はまってしまいました。

var ba:ByteArray = new ByteArray();
ba.writeMultiByte("abc","UTF-8");
trace("Length is " + ba.length + "( " + ba.bytesAvailable + ")");

//  必ず Error #2030: End of file was encountered.のエラーが発生します。
try{
	var ret1:String = ba.readUTF();
	//  必ずエラーです
}
catch(err:Error){
	trace(err.message);
}

//  positonを0にしなければいけません
ba.position = 0;
trace("Length is " + ba.length + "( " + ba.bytesAvailable + ")");
try{
	var ret2:String = ba.readUTFBytes(ba.bytesAvailable);
	trace(ret2 + " is abc");
}
catch(err:Error){

}

positionを0に設定しなければいけないようです。
結構、ここに達するまでに時間がかかってしまいました。

関連記事

One Response to “as3:ByteArrayのbytesAvailableが常に0(ゼロ)のままです。”

Leave a Reply

Spam protection by WP Captcha-Free

RSS
Add to Google

カスタム検索
ソフトウェア&ライブラリ


ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2009年4月
« 3月   5月 »
 12345
6789101112
13141516171819
20212223242526
27282930  
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ