2014-03-27 5 views
2

나는 mapDb에 저장할 개체를 직렬화 및 역 직렬화하려고합니다. mapDb에서 그 I 저장 "결과"후serialize 및 deeserialize mapDb 개체에서 - Java

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
ObjectOutputStream os = new ObjectOutputStream(bos); 
os.writeObject(u); 
result = bos.toString(); 

:

나는이 조각을 사용하여 객체를 직렬화 할 수 있었다. 모든 것이 매력처럼 작동하는 것처럼 보였습니다.

불행히도 deserialize하는 동안 몇 가지 문제가 있습니다. 여기

스 니펫 :

byte[] b = null; 
b = str.getBytes(); 
InputStream ac = new ByteArrayInputStream(b); 
Object a= ac.read(); 

STR 문자열로 취급 mapDB에서 나오는 직렬화 된 객체입니다. 그 후에 바이트 배열로 "캐스트"되었습니다. mapDb에서 객체로 데이터를 가져 오는 동안 몇 가지 문제가 있었기 때문에이 접근 방식을 사용했습니다.

그래서,이 문제를 어떻게 해결할 수 있습니까? Beacuse 객체 ""은 원하는 클래스 대신 java.lang.Integer의 인스턴스이므로 deselrialization이 작동하지 않습니다.

답변

3

MapDB가 빌드 인 직렬화를 사용하고 있습니까?