我正在尋找像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. 關於java ByteArrayOutputStream類
- 3. ByteArrayOutputStream到PrintWriter(Java Servlet)
- 4. Java:內存高效ByteArrayOutputStream
- 5. 初始化datetime64 RingBuffer
- 6. GWT中的NotSerializableExeption(ByteArrayOutputStream)
- 7. ByteArrayOutputStream在C#
- 8. Java的理解ByteArrayOutputStream和ByteArrayInputStream的
- 9. 在SD卡中存儲ByteArrayOutputStream
- 10. java的輸出十六進制(ByteArrayOutputStream)
- 11. Concatenate ByteArrayOutputStream
- 12. ByteArrayOutputStream/InputStream中的S3進口
- 13. Java:寫入ByteArrayOutputStream時發生IOException?
- 14. Java寫入ByteArrayOutputStream內存泄漏
- 15. 如何同時使用ByteArrayOutputStream和DataOutputStream(Java)
- 16. 如何將ByteArrayOutputStream轉換爲PDF並保存在Java硬盤中?
- 17. ByteArrayOutputStream拋出OutOfMemoryError
- 18. Trim Padding ByteArrayOutputStream
- 19. ByteArrayOutputStream到CharBuffer
- 20. BufferedOutputStream vs ByteArrayOutputStream
- 21. 初始化ByteArrayOutputStream?
- 22. 將RingBuffer的內容移動到LinearBuffer
- 23. 用於數據收集的RingBuffer
- 24. 在Android應用程序中關閉ByteArrayOutputStream
- 25. java將GZIPOutputStream&ByteArrayOutputStream包裝在一起 - 我做錯了什麼?
- 26. 如何從在java中保存爲bytearrayoutputstream的文件返回位集?
- 27. ByteArrayOutputStream編碼問題
- 28. ByteArrayOutputStream:奇數行爲
- 29. OutputStream與ByteArrayOutputStream不寫
- 30. yuv.compressToJpeg不接受ByteArrayOutputStream?
你想它擴展的OutputStream? – aioobe 2010-09-06 12:36:31
可能是?我只想要一個內存使用受限的實現?在ByteArrayOutputStream中,字節數組的增長沒有限制,據我瞭解。 – Martin 2010-09-06 13:06:14