var fData:ByteArray = new ByteArray();flash as3如何刪除部分byteArray?
我需要刪除此數組中的一些字節,但無法在Flash中找到任何公共方法來執行此操作。 我搜索了一些像fData.remove(開始,長度)但沒有成功。
這裏是一個代碼
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削減本身不可預測的時候。 有時老塊被發現兩次,有時他們根本找不到。
不知有一種方法可以將他想要刪除的點設置爲null並且移動數組的其餘部分,我想可能還是需要移動每一個元素(取決於實際如何在引擎蓋下實現),但可能值得節省t的CPU成本他的內存取決於ByteArray的大小,如果耗盡內存是一個問題,只是讀一個新的問題似乎不是一個很好的解決方案(儘管可能是唯一的解決方案)。 – shaunhusain 2012-08-07 17:59:08
我可以自己寫嗎? 像fData.writeBytes(fData,2,7); ? 我認爲,沒有=) – 2012-08-07 19:02:54
@shaunhusain好點,不知道如果ByteArray是非常大的解決方案將是什麼。 – 2012-08-07 20:05:01