home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- public class DataInputStream extends FilterInputStream implements DataInput {
- private char[] lineBuffer;
-
- public DataInputStream(InputStream var1) {
- super(var1);
- }
-
- public final int read(byte[] var1) throws IOException {
- return super.in.read(var1, 0, var1.length);
- }
-
- public final int read(byte[] var1, int var2, int var3) throws IOException {
- return super.in.read(var1, var2, var3);
- }
-
- public final void readFully(byte[] var1) throws IOException {
- this.readFully(var1, 0, var1.length);
- }
-
- public final void readFully(byte[] var1, int var2, int var3) throws IOException {
- InputStream var4 = super.in;
-
- int var6;
- for(int var5 = 0; var5 < var3; var5 += var6) {
- var6 = var4.read(var1, var2 + var5, var3 - var5);
- if (var6 < 0) {
- throw new EOFException();
- }
- }
-
- }
-
- public final int skipBytes(int var1) throws IOException {
- InputStream var2 = super.in;
-
- for(int var3 = 0; var3 < var1; var3 += (int)var2.skip((long)(var1 - var3))) {
- }
-
- return var1;
- }
-
- public final boolean readBoolean() throws IOException {
- int var1 = super.in.read();
- if (var1 < 0) {
- throw new EOFException();
- } else {
- return var1 != 0;
- }
- }
-
- public final byte readByte() throws IOException {
- int var1 = super.in.read();
- if (var1 < 0) {
- throw new EOFException();
- } else {
- return (byte)var1;
- }
- }
-
- public final int readUnsignedByte() throws IOException {
- int var1 = super.in.read();
- if (var1 < 0) {
- throw new EOFException();
- } else {
- return var1;
- }
- }
-
- public final short readShort() throws IOException {
- InputStream var1 = super.in;
- int var2 = var1.read();
- int var3 = var1.read();
- if ((var2 | var3) < 0) {
- throw new EOFException();
- } else {
- return (short)((var2 << 8) + var3);
- }
- }
-
- public final int readUnsignedShort() throws IOException {
- InputStream var1 = super.in;
- int var2 = var1.read();
- int var3 = var1.read();
- if ((var2 | var3) < 0) {
- throw new EOFException();
- } else {
- return (var2 << 8) + var3;
- }
- }
-
- public final char readChar() throws IOException {
- InputStream var1 = super.in;
- int var2 = var1.read();
- int var3 = var1.read();
- if ((var2 | var3) < 0) {
- throw new EOFException();
- } else {
- return (char)((var2 << 8) + var3);
- }
- }
-
- public final int readInt() throws IOException {
- InputStream var1 = super.in;
- int var2 = var1.read();
- int var3 = var1.read();
- int var4 = var1.read();
- int var5 = var1.read();
- if ((var2 | var3 | var4 | var5) < 0) {
- throw new EOFException();
- } else {
- return (var2 << 24) + (var3 << 16) + (var4 << 8) + var5;
- }
- }
-
- public final long readLong() throws IOException {
- return ((long)this.readInt() << 32) + ((long)this.readInt() & 4294967295L);
- }
-
- public final float readFloat() throws IOException {
- return Float.intBitsToFloat(this.readInt());
- }
-
- public final double readDouble() throws IOException {
- return Double.longBitsToDouble(this.readLong());
- }
-
- /** @deprecated */
- public final String readLine() throws IOException {
- InputStream var1 = super.in;
- char[] var2 = this.lineBuffer;
- if (var2 == null) {
- var2 = this.lineBuffer = new char[128];
- }
-
- int var3 = var2.length;
- int var4 = 0;
-
- while(true) {
- int var5;
- switch (var5 = var1.read()) {
- case 13:
- int var6 = var1.read();
- if (var6 != 10) {
- if (!(var1 instanceof PushbackInputStream)) {
- var1 = super.in = new PushbackInputStream(var1);
- }
-
- ((PushbackInputStream)var1).unread(var6);
- }
- case -1:
- case 10:
- if (var5 == -1 && var4 == 0) {
- return null;
- }
-
- return String.copyValueOf(var2, 0, var4);
- }
-
- --var3;
- if (var3 < 0) {
- var2 = new char[var4 + 128];
- var3 = var2.length - var4 - 1;
- System.arraycopy(this.lineBuffer, 0, var2, 0, var4);
- this.lineBuffer = var2;
- }
-
- var2[var4++] = (char)var5;
- }
- }
-
- public final String readUTF() throws IOException {
- return readUTF(this);
- }
-
- public static final String readUTF(DataInput var0) throws IOException {
- int var1 = var0.readUnsignedShort();
- char[] var2 = new char[var1];
- int var3 = 0;
- int var4 = 0;
-
- while(var3 < var1) {
- int var5 = var0.readUnsignedByte();
- switch (var5 >> 4) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- ++var3;
- var2[var4++] = (char)var5;
- break;
- case 12:
- case 13:
- var3 += 2;
- if (var3 > var1) {
- throw new UTFDataFormatException();
- }
-
- int var8 = var0.readUnsignedByte();
- if ((var8 & 192) != 128) {
- throw new UTFDataFormatException();
- }
-
- var2[var4++] = (char)((var5 & 31) << 6 | var8 & 63);
- break;
- case 14:
- var3 += 3;
- if (var3 > var1) {
- throw new UTFDataFormatException();
- }
-
- int var6 = var0.readUnsignedByte();
- int var7 = var0.readUnsignedByte();
- if ((var6 & 192) == 128 && (var7 & 192) == 128) {
- var2[var4++] = (char)((var5 & 15) << 12 | (var6 & 63) << 6 | var7 & 63);
- break;
- }
-
- throw new UTFDataFormatException();
- default:
- throw new UTFDataFormatException();
- }
- }
-
- return new String(var2, 0, var4);
- }
- }
-