java - कहत - बिट क्या है?




जावा: ऑब्जेक्ट को ऑब्जेक्ट करने के लिए बाइट[] और बाइट[] ऑब्जेक्ट(टोक्यो कैबिनेट के लिए) (3)

मुझे टोक्यो कैबिनेट की-वैल्यू स्टोर में संग्रहीत करने के लिए वस्तुओं को बाइट [] में परिवर्तित करने की आवश्यकता है। कुंजी-मूल्य स्टोर से पढ़ने पर मुझे ऑब्जेक्ट में बाइट [] को ऑब्जेक्ट करने की भी आवश्यकता है।

क्या वहां कोई पैकेज है जो इस कार्य के साथ मेरी मदद करेगा? या इसे स्वयं लागू करने का सबसे अच्छा समाधान होगा?


आप देख सकते हैं कि हेक्टर कैसंड्रा के लिए यह कैसे करता है, जहां लक्ष्य समान है - किसी भी एसएसक्यूएल डेटाबेस से स्टोर / पुनर्प्राप्त करने के लिए सबकुछ byte[] से कनवर्ट करें - यहां देखें । आदिम प्रकारों (+ स्ट्रिंग) के लिए, विशेष सीरियलाइज़र होते हैं, अन्यथा जेनेरिक ObjectSerializer ( ObjectSerializer अपेक्षा करना, और ObjectOutputStream का उपयोग ObjectOutputStream ) होता है। आप, निश्चित रूप से, केवल सबकुछ के लिए इसका उपयोग कर सकते हैं, लेकिन धारावाहिक रूप में अनावश्यक मेटा-डेटा हो सकता है।

मुझे लगता है कि आप पूरे पैकेज की प्रतिलिपि बना सकते हैं और इसका उपयोग कर सकते हैं।


यदि आपकी कक्षा Serializable बढ़ाती है, तो आप ByteArrayOutputStream माध्यम से ऑब्जेक्ट्स लिख और पढ़ सकते हैं, यही वह है जो मैं आमतौर पर करता हूं।


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();
}






tokyo-cabinet