@Override public int read() throws IOException { // Ensure we don't read beyond the segment length if (bytesReadPastMarkPoint + getRelativeMarkPoint() >= segmentLength) { return -1; } else { return super.read(); } }
@Override public int read() throws IOException { // Ensure we don't read beyond the segment length if (bytesReadPastMarkPoint + getRelativeMarkPoint() >= segmentLength) { return -1; } else { return super.read(); } }
@Override public int read(byte[] bytes, int off, int len) throws IOException { bytesReadPastMarkPoint += off; // Ensure we don't read beyond the segment length if (bytesReadPastMarkPoint + getRelativeMarkPoint() >= segmentLength) { return -1; } if (bytesReadPastMarkPoint + getRelativeMarkPoint() + len > segmentLength) { len = (int) (segmentLength - (bytesReadPastMarkPoint + getRelativeMarkPoint() + off)); } return super.read(bytes, off, len); }
@Override public int read(byte[] bytes, int off, int len) throws IOException { bytesReadPastMarkPoint += off; // Ensure we don't read beyond the segment length if (bytesReadPastMarkPoint + getRelativeMarkPoint() >= segmentLength) { return -1; } if (bytesReadPastMarkPoint + getRelativeMarkPoint() + len > segmentLength) { len = (int) (segmentLength - (bytesReadPastMarkPoint + getRelativeMarkPoint() + off)); } return super.read(bytes, off, len); }