1
는 1000 바이트, 압축 ZLIB 및 회전 (800 ~ 900 바이트)를 전송자바 데이터 스트림 압축 해제
Inflater decompresser = new Inflater();
decompresser.setInput(buffer.toString().getBytes());
byte[] dataBytes = new byte[8388608];
int resultLength = decompresser.inflate(dataBytes);
decompresser.end();
System.out.println("decompressed" + new String(dataBytes, 0, resultLength)+ " RESULTLENGHT " +resultLength);
하지만 나도 몰라 (버퍼)
BufferedReader is = new BufferedReader(new InputStreamReader(download.getInputStream()));
데이터 압축 해제 소켓에서 데이터를 얻을 수 정확히 송신 크기. 한 번에 소켓 1 바이트에서 읽어야하고 압축 해제 된 데이터의 전체 크기가 1000 바이트가 될 때까지 즉시 압축을 풀어야합니다.
StringBuilder buffer = new StringBuilder();
StringBuilder unpackbuffer = new StringBuilder();
do buffer.append((char)is.read());
while(buffer.charAt(buffer.length()-1) != '|' && (byte)buffer.charAt(buffer.length()-1) != -1);
가 어떻게이주기 unpackbuffer를 입력 않습니다
내가 그렇게 한 번에 바이트를 읽으려면? 크기를 확인 하시겠습니까? 죄송합니다, 제 질문은 분명히 바랍니다.
불행하게도, 프로토콜이 당신이 바이트를 팩 코드하고 압축을 풉니 다 코드 모두를, 이해가 작성되지 않는 – Dmitriy
를 제공하지 않습니다 다음과 같이 코드는 보인다? 원하는 바이트를 추가 할 수 없습니까? –
아니요, NMDC 프로토콜 용 클라이언트를 작성 중이며 전체 시스템을 제어 할 수 없습니다. Java 용 스트리밍을 압축 해제하는 방법이 있습니까? – Dmitriy