com.fasterxml.jackson.databind.ObjectMapper
기본의 경우 입력이 출력 스트림 (출력 스트림)을 작성 후 꺼집니다.
같은 출력 스트림, 당신은 완성 된 출력 스트림의 출력을 원하지 않는 경우 다중 값 변수의 순서가 닫혀하려는 경우, 당신은 설정할 수있는 JsonGenerator.Feature.AUTO_CLOSE_TARGET
매개 변수를 False
.
이 시험 방법 수도 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java 에서 찾을 수 있습니다.
/ ** * 직렬화하지 닫기 출력 스트림 * / @Test 공공 무효 testMessagePackSerializationNotCloseOutputStream () { logger.debug ( "testMessagePackSerializationNotCloseOutputStream"); 시도 { 임시 파일 = File.createTempFile 파일 ( "messagepack-", "-cwiki.us"); = FileOutputStream에 새로운 (임시 파일)를 아웃의 OutputStream; ObjectMapper objectMapper = 새로운 ObjectMapper (새 MessagePackFactory ()); objectMapper.configure (JsonGenerator.Feature.AUTO_CLOSE_TARGET 거짓); objectMapper.writeValue (밖으로, 1); objectMapper.writeValue (교체 아웃 "이"); objectMapper.writeValue (아웃, 3.14); out.close (); MessageUnpacker 해석기 = MessagePack.newDefaultUnpacker (새 FileInputStream의 (임시 파일)); 에서 System.out.println (unpacker.unpackInt ()); // => 1 에서 System.out.println (unpacker.unpackString ()); // => 두 에서 System.out.println (unpacker.unpackFloat ()); // => 3.14 tempFile.deleteOnExit (); } 캐치 (IOException이 예) { logger.error ( "오류를 직렬화", 예); } }
https://www.cwiki.us/display/Serialization/MessagePack+Jackson+Dataformat