与Java中的"未知长度的字节数组"类似,我需要能够将来自数据源的未知数量的字节写入byte[]数组中。 但是,为了进行压缩算法,我需要读取之前存储的字节,因此ByteArrayOutputStream对我不起作用。
现在,我有一个方案,其中我分配固定大小N的ByteBuffer,在达到N、2N、3N字节等时添加一个新的ByteBuffer。在数据用尽后,我将所有缓冲区转储到现在已知大小的数组中。
有更好的方法吗?使用固定大小的缓冲区会降低压缩算法的灵活性。
现在,我有一个方案,其中我分配固定大小N的ByteBuffer,在达到N、2N、3N字节等时添加一个新的ByteBuffer。在数据用尽后,我将所有缓冲区转储到现在已知大小的数组中。
有更好的方法吗?使用固定大小的缓冲区会降低压缩算法的灵活性。
com.Ostermiller.util.CircularByteBuffer
。 - trashgod