0
int[] myIntArray;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new DeflaterOutputStream(byteArrayOutputStream));
objectOutputStream.writeObject(myIntArray);
이제 ObjectOutputStream
은 개체를 받아서 직접 직렬화합니다. DeflaterOutputStream
은 직렬화 된 결과를 압축 한 다음 압축 된 결과를 ByteArrayOutputStream
개체 역 직렬화 - 직렬화 된 개체에서 int 배열을 가져 오는 것
에 저장할 수 있습니다. 누군가가 원래의 int 배열을 역 직렬화하고 다시 가져 오는 방법을 말해 줄 수 있습니까? Plz 코딩을 공유 하시겠습니까?
바이트로 변환하기 전에 스트림을 닫거나 종료해야 할 수도 있습니다. 내 대답을 편집 할게. –
여기에 전체 코드를 확인하십시오. http://stackoverflow.com/questions/16321507/java-deserialization-error-invalid-stream-header –
OK. 나는 마침내 문제를 발견했다. DeflaterInputStream이 아닌 InflaterInputSTream을 사용해야합니다. 죄송합니다 빨리 내 솔루션을 테스트하지 못한. 나는 그것을 성공적으로 테스트했다. –