+ public void markSupported() { return false; }
+ public int read(byte[] b) throws IOException { return read(b, 0, b.length); }
+ public long skip(long n) { return read(null, -1, (int)n); }
+ public int available() {
+ if (contentLength == -1) return Math.min(super.available(), length);
+ return super.available();
+ }
+
+ public int read() throws IOException {
+ byte[] b = new byte[1];
+ int ret = read(b, 0, 1);
+ return ret == -1 ? -1 : b[0] & 0xff;
+ }
+