public int getNextFrame( byte[] buff )
这段代码从一个文件中读取内容到缓冲区,并返回读取的字节数。我正在读取一个.MJPEG文件,它有一个5字节的值,比如“07939”,后面跟着相应数量的jpeg数据。
问题在于JPEG字节大小可能会超过缓冲区的容量。我找不到一个简洁的解决方案来分配内存。我的目标是不为每个图像创建一个新的缓冲区。我尝试了直接使用ByteBuffer
,以便可以使用其array()
方法直接访问底层缓冲区,但是ByteBuffer
不会动态扩展。
我应该返回参数的引用吗?像这样:
public ByteBuffer getNextFrame( ByteBuffer ref )
我该如何找到已读取的字节数?谢谢。