我正在寻找像ByteArrayOutputStream但有限的大小。如果超过大小,则应覆盖旧数据。就我所了解的缓冲器而言。有任何想法吗?在Java中的ByteArrayOutputStream ringbuffer
2
A
回答
3
其实并没有太多。你可以自己做。这里是一个开始:
class ByteArrayRingBuffer extends OutputStream {
byte[] data;
int capacity, pos = 0;
boolean filled = false;
public ByteArrayRingBuffer(int capacity) {
data = new byte[capacity];
this.capacity = capacity;
}
@Override
public synchronized void write(int b) {
if (pos == capacity) {
filled = true;
pos = 0;
}
data[pos++] = (byte) b;
}
public byte[] toByteArray() {
if (!filled)
return Arrays.copyOf(data, pos);
byte[] ret = new byte[capacity];
System.arraycopy(data, pos, ret, 0, capacity - pos);
System.arraycopy(data, 0, ret, capacity - pos, pos);
return ret;
}
}
(您可能要重写write(byte[] b, int off, int len)
,如果你需要的效率。)
相关问题
- 1. 的Java BufferedImage中ByteArrayOutputStream没有关闭ByteArrayOutputStream
- 2. ByteArrayOutputStream到PrintWriter(Java Servlet)
- 3. 关于java ByteArrayOutputStream类
- 4. Java:内存高效ByteArrayOutputStream
- 5. 初始化datetime64 RingBuffer
- 6. Java的理解ByteArrayOutputStream和ByteArrayInputStream的
- 7. java的输出十六进制(ByteArrayOutputStream)
- 8. Concatenate ByteArrayOutputStream
- 9. Java写入ByteArrayOutputStream内存泄漏
- 10. Java:写入ByteArrayOutputStream时发生IOException?
- 11. 如何同时使用ByteArrayOutputStream和DataOutputStream(Java)
- 12. 如何将ByteArrayOutputStream转换为PDF并保存在Java硬盘中?
- 13. ByteArrayOutputStream到CharBuffer
- 14. 初始化ByteArrayOutputStream?
- 15. ByteArrayOutputStream抛出OutOfMemoryError
- 16. 在Android应用程序中关闭ByteArrayOutputStream
- 17. 如何从在java中保存为bytearrayoutputstream的文件返回位集?
- 18. ByteArrayOutputStream编码问题
- 19. OutputStream与ByteArrayOutputStream不写
- 20. ByteArrayOutputStream:奇数行为
- 21. 将ByteArrayOutputStream转换为Kotlin中的json
- 22. PDFWriter中的ByteArrayOutputStream大小为零?
- 23. ByteArrayOutputStream - 得到的字符串
- 24. 什么是与Java的ByteArrayOutputStream相当的objective-c?
- 25. Hazelcast Ringbuffer readManyAsync返回空结果
- 26. Ruby中的缓冲/ RingBuffer IO + Amazon S3非阻塞区块读取
- 27. 将ByteArrayOutputStream转换为BufferedImage
- 28. CipherOutputStream无法写入ByteArrayOutputStream
- 29. Android ByteArrayOutputStream损坏HTTP GET JSONArray
- 30. 输出拉链目录ByteArrayOutputStream
你想它扩展的OutputStream? – aioobe 2010-09-06 12:36:31
可能是?我只想要一个内存使用受限的实现?在ByteArrayOutputStream中,字节数组的增长没有限制,据我了解。 – Martin 2010-09-06 13:06:14