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