导航菜单

页面标题

页面副标题

fieldd v4.2.4 - LEDataInputStream.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);
    }
}