80 lines
2.1 KiB
Java
80 lines
2.1 KiB
Java
package c.f.d.j;
|
|
|
|
import java.io.FilterInputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
/* compiled from: TailAppendingInputStream */
|
|
public class b extends FilterInputStream {
|
|
public final byte[] i;
|
|
public int j;
|
|
public int k;
|
|
|
|
public b(InputStream inputStream, byte[] bArr) {
|
|
super(inputStream);
|
|
this.i = bArr;
|
|
}
|
|
|
|
public final int a() {
|
|
int i = this.j;
|
|
byte[] bArr = this.i;
|
|
if (i >= bArr.length) {
|
|
return -1;
|
|
}
|
|
this.j = i + 1;
|
|
return bArr[i] & 255;
|
|
}
|
|
|
|
@Override // java.io.FilterInputStream, java.io.InputStream
|
|
public void mark(int i) {
|
|
if (((FilterInputStream) this).in.markSupported()) {
|
|
super.mark(i);
|
|
this.k = this.j;
|
|
}
|
|
}
|
|
|
|
@Override // java.io.FilterInputStream, java.io.InputStream
|
|
public int read() throws IOException {
|
|
int read = ((FilterInputStream) this).in.read();
|
|
return read != -1 ? read : a();
|
|
}
|
|
|
|
@Override // java.io.FilterInputStream, java.io.InputStream
|
|
public int read(byte[] bArr) throws IOException {
|
|
return read(bArr, 0, bArr.length);
|
|
}
|
|
|
|
@Override // java.io.FilterInputStream, java.io.InputStream
|
|
public int read(byte[] bArr, int i, int i2) throws IOException {
|
|
int read = ((FilterInputStream) this).in.read(bArr, i, i2);
|
|
if (read != -1) {
|
|
return read;
|
|
}
|
|
int i3 = 0;
|
|
if (i2 == 0) {
|
|
return 0;
|
|
}
|
|
while (i3 < i2) {
|
|
int a = a();
|
|
if (a == -1) {
|
|
break;
|
|
}
|
|
bArr[i + i3] = (byte) a;
|
|
i3++;
|
|
}
|
|
if (i3 > 0) {
|
|
return i3;
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
@Override // java.io.FilterInputStream, java.io.InputStream
|
|
public void reset() throws IOException {
|
|
if (((FilterInputStream) this).in.markSupported()) {
|
|
((FilterInputStream) this).in.reset();
|
|
this.j = this.k;
|
|
return;
|
|
}
|
|
throw new IOException("mark is not supported");
|
|
}
|
|
}
|