正在查看: fieldd v4.2.4 应用的 LEDataInputStream.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: fieldd v4.2.4 应用的 LEDataInputStream.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.mindprod.ledatastream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import kotlin.UByte;
public final class LEDataInputStream implements DataInput {
private static final String EMBEDDED_COPYRIGHT = "copyright (c) 1999-2010 Roedy Green, Canadian Mind Products, http://mindprod.com";
protected final DataInputStream dis;
protected final InputStream is;
protected final byte[] work = new byte[8];
public LEDataInputStream(InputStream inputStream) {
this.is = inputStream;
this.dis = new DataInputStream(inputStream);
}
public static String readUTF(DataInput dataInput) throws IOException {
return DataInputStream.readUTF(dataInput);
}
public final void close() throws IOException {
this.dis.close();
}
public final int read(byte[] bArr, int i, int i2) throws IOException {
return this.is.read(bArr, i, i2);
}
@Override
public final boolean readBoolean() throws IOException {
return this.dis.readBoolean();
}
@Override
public final byte readByte() throws IOException {
return this.dis.readByte();
}
@Override
public final char readChar() throws IOException {
this.dis.readFully(this.work, 0, 2);
byte[] bArr = this.work;
return (char) ((bArr[0] & UByte.MAX_VALUE) | ((bArr[1] & UByte.MAX_VALUE) << 8));
}
@Override
public final double readDouble() throws IOException {
return Double.longBitsToDouble(readLong());
}
@Override
public final float readFloat() throws IOException {
return Float.intBitsToFloat(readInt());
}
@Override
public final void readFully(byte[] bArr) throws IOException {
this.dis.readFully(bArr, 0, bArr.length);
}
@Override
public final void readFully(byte[] bArr, int i, int i2) throws IOException {
this.dis.readFully(bArr, i, i2);
}
@Override
public final int readInt() throws IOException {
this.dis.readFully(this.work, 0, 4);
byte[] bArr = this.work;
return (bArr[0] & UByte.MAX_VALUE) | (bArr[3] << 24) | ((bArr[2] & UByte.MAX_VALUE) << 16) | ((bArr[1] & UByte.MAX_VALUE) << 8);
}
@Override
public final String readLine() throws IOException {
return this.dis.readLine();
}
@Override
public final long readLong() throws IOException {
this.dis.readFully(this.work, 0, 8);
byte[] bArr = this.work;
return (bArr[0] & UByte.MAX_VALUE) | (bArr[7] << 56) | ((bArr[6] & UByte.MAX_VALUE) << 48) | ((bArr[5] & UByte.MAX_VALUE) << 40) | ((bArr[4] & UByte.MAX_VALUE) << 32) | ((bArr[3] & UByte.MAX_VALUE) << 24) | ((bArr[2] & UByte.MAX_VALUE) << 16) | ((bArr[1] & UByte.MAX_VALUE) << 8);
}
@Override
public final short readShort() throws IOException {
this.dis.readFully(this.work, 0, 2);
byte[] bArr = this.work;
return (short) ((bArr[0] & UByte.MAX_VALUE) | ((bArr[1] & UByte.MAX_VALUE) << 8));
}
@Override
public final String readUTF() throws IOException {
return this.dis.readUTF();
}
@Override
public final int readUnsignedByte() throws IOException {
return this.dis.readUnsignedByte();
}
@Override
public final int readUnsignedShort() throws IOException {
this.dis.readFully(this.work, 0, 2);
byte[] bArr = this.work;
return (bArr[0] & UByte.MAX_VALUE) | ((bArr[1] & UByte.MAX_VALUE) << 8);
}
@Override
public final int skipBytes(int i) throws IOException {
return this.dis.skipBytes(i);
}
}