0
我有一個我想要序列化的對象。事情是,我不想在FileOutputStream或ObjectOutputStream中發送它。相反,我想將結果分配給一個變量。我無法找到任何有關在網絡上執行此操作的信息。這是因爲這樣做沒有標準的Java方法嗎?如果是這樣的話,我需要研究什麼來寫一個自己做這個的方法?將序列化的結果分配給變量
我有一個我想要序列化的對象。事情是,我不想在FileOutputStream或ObjectOutputStream中發送它。相反,我想將結果分配給一個變量。我無法找到任何有關在網絡上執行此操作的信息。這是因爲這樣做沒有標準的Java方法嗎?如果是這樣的話,我需要研究什麼來寫一個自己做這個的方法?將序列化的結果分配給變量
這聽起來像你需要做這樣的事情:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(someObject);
oos.close();
byte[] serialized = bos.toByteArray();
這將使序列化對象的字節表示爲serialized
。您可以使用ByteArrayInputStream和ObjectInputStream來反轉進程(反序列化)。
注意:你無法避免使用ObjectOutputStream ...因爲那是什麼做了所有的序列化工作。
完美。謝謝 – providence 2011-03-19 04:51:25