Java: object à octet et octet à object convertisseur (pour Tokyo Cabinet)

Je dois convertir des objects en octets [] pour les stocker dans le magasin de clés-valeur de Tokyo Cabinet. Je dois également annuler l’octet [] sur un object lors de la lecture du magasin clé-valeur.

Y a-t-il des paquets qui peuvent m’aider dans cette tâche? Ou la meilleure solution pour la mettre en œuvre moi-même?

    public static byte[] serialize(Object obj) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(out); os.writeObject(obj); return out.toByteArray(); } public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException { ByteArrayInputStream in = new ByteArrayInputStream(data); ObjectInputStream is = new ObjectInputStream(in); return is.readObject(); } 

    Si votre classe étend Serializable , vous pouvez écrire et lire des objects via un ByteArrayOutputStream , ce que je fais habituellement.

    Utilisez les méthodes serialize et deserialize dans SerializationUtils partir de commons-lang .

    Vous pouvez voir comment Hector fait cela pour Cassandra, où le but est le même – convertir tout vers et à partir de l’ byte[] afin de stocker / récupérer à partir d’une firebase database NoSQL – voir ici . Pour les types primitifs (+ Ssortingng), il existe des sérialiseurs spéciaux, sinon il y a le ObjectSerializer générique (attend Serializable et utilisant ObjectOutputStream ). Bien entendu, vous ne pouvez l’utiliser que pour tout, mais il pourrait y avoir des métadonnées redondantes sous forme sérialisée.

    Je suppose que vous pouvez copier le package complet et l’utiliser.