exchange.apexpro.connector.impl.utils.InternalUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apexpro-connector-java Show documentation
Show all versions of apexpro-connector-java Show documentation
A lightweight library to ApeX-Protocol
package exchange.apexpro.connector.impl.utils;
import exchange.apexpro.connector.exception.ApexProApiException;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
public abstract class InternalUtils {
public static byte[] decode(byte[] data) throws IOException {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
decompress(bais, baos);
baos.flush();
baos.close();
bais.close();
return baos.toByteArray();
}
private static void decompress(InputStream is, OutputStream os) throws IOException {
GZIPInputStream gis = new GZIPInputStream(is);
int count;
byte[] data = new byte[1024];
while ((count = gis.read(data, 0, 1024)) != -1) {
os.write(data, 0, count);
}
gis.close();
}
public static void await(long n) throws ApexProApiException {
try {
Thread.sleep(n);
} catch (InterruptedException e) {
throw new ApexProApiException(ApexProApiException.SYS_ERROR, "Error when sleep", e);
}
}
}