@Override public void write(byte[] b, int off, int len) throws IOException { checkOpen(); if (len > maxSize) { flushBuffer(); writeDirect(b, off, len); return; } if (!bytesWritten && buffer.length < maxSize && count + len > buffer.length) { byte[] nextBuffer = new byte[Math.min(maxSize, DataTypeManager.nextPowOf2(count + len))]; System.arraycopy(buffer, 0, nextBuffer, 0, count); buffer = nextBuffer; } int bufferedLength = Math.min(len, buffer.length - count); if (count < buffer.length) { System.arraycopy(b, off, buffer, count, bufferedLength); count += bufferedLength; if (bufferedLength == len) { return; } } flushBuffer(); System.arraycopy(b, off + bufferedLength, buffer, count, len - bufferedLength); count += len - bufferedLength; }
@Override public void write(byte[] b, int off, int len) throws IOException { checkOpen(); if (len > maxSize) { flushBuffer(); writeDirect(b, off, len); return; } if (!bytesWritten && buffer.length < maxSize && count + len > buffer.length) { byte[] nextBuffer = new byte[Math.min(maxSize, DataTypeManager.nextPowOf2(count + len))]; System.arraycopy(buffer, 0, nextBuffer, 0, count); buffer = nextBuffer; } int bufferedLength = Math.min(len, buffer.length - count); if (count < buffer.length) { System.arraycopy(b, off, buffer, count, bufferedLength); count += bufferedLength; if (bufferedLength == len) { return; } } flushBuffer(); System.arraycopy(b, off + bufferedLength, buffer, count, len - bufferedLength); count += len - bufferedLength; }
@Override public void write(byte[] b, int off, int len) throws IOException { checkOpen(); if (len > maxSize) { flushBuffer(); writeDirect(b, off, len); return; } if (!bytesWritten && buffer.length < maxSize && count + len > buffer.length) { byte[] nextBuffer = new byte[Math.min(maxSize, DataTypeManager.nextPowOf2(count + len))]; System.arraycopy(buffer, 0, nextBuffer, 0, count); buffer = nextBuffer; } int bufferedLength = Math.min(len, buffer.length - count); if (count < buffer.length) { System.arraycopy(b, off, buffer, count, bufferedLength); count += bufferedLength; if (bufferedLength == len) { return; } } flushBuffer(); System.arraycopy(b, off + bufferedLength, buffer, count, len - bufferedLength); count += len - bufferedLength; }
public void flushBuffer() throws IOException { checkOpen(); if (count > 0) { writeDirect(buffer, 0, count); count = 0; } }
public void flushBuffer() throws IOException { checkOpen(); if (count > 0) { writeDirect(buffer, 0, count); count = 0; } }
public void flushBuffer() throws IOException { checkOpen(); if (count > 0) { writeDirect(buffer, 0, count); count = 0; } }