var fData:ByteArray = new ByteArray();
この配列の一部のバイトを削除する必要がありますが、Flashでそれを行うためのパブリックメソッドが見つかりません。fData.remove(start、length)のようなものを検索しましたが、成功しませんでした。
ここにコードがあります
function _dlProgressHandler(evt:ProgressEvent):void { //this is progressEvent for URLStream
............... ///some code
var ff:ByteArray = new ByteArray();
stream.readBytes(ff,0,stream.bytesAvailable);
fileData.writeBytes(ff,0,ff.length); //stream writes into fileData byteArray
//and here is cutter:
fileData.position=0;
fileData.writeBytes(ff,100,fileData.length);
fileData.length=fileData.length-100);
}
そのため、fileDataは予期せずに自分自身をカットすることがあります。古いブロックが2回見つかることもあれば、まったく見つからないこともあります。