2011-03-19 46 views
0

我有一個我想要序列化的對象。事情是,我不想在FileOutputStream或ObjectOutputStream中發送它。相反,我想將結果分配給一個變量。我無法找到任何有關在網絡上執行此操作的信息。這是因爲這樣做沒有標準的Java方法嗎?如果是這樣的話,我需要研究什麼來寫一個自己做這個的方法?將序列化的結果分配給變量

回答

4

這聽起來像你需要做這樣的事情:

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
ObjectOutputStream oos = new ObjectOutputStream(bos); 
oos.writeObject(someObject); 
oos.close(); 
byte[] serialized = bos.toByteArray(); 

這將使序列化對象的字節表示爲serialized。您可以使用ByteArrayInputStream和ObjectInputStream來反轉進程(反序列化)。

注意:你無法避免使用ObjectOutputStream ...因爲是什麼做了所有的序列化工作。

+0

完美。謝謝 – providence 2011-03-19 04:51:25