2013-06-11 20 views
5
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
ObjectOutputStream oos = new ObjectOutputStream(baos); 
oos.writeObject(reg_be); 
oos.flush(); 
oos.close(); 

InputStream is = new ByteArrayInputStream(baos.toByteArray()); 

Questo codice Convertire file Java Object-InputStream e come posso convertire InputStream a un Object? Devo convertire il mio Object in un InputStream quindi lo passo e voglio riavere il mio Object.come convertire un flusso di input per un oggetto Java

+2

ObjectInputStream sembra davvero evidente. – Gimby

risposta

13

In try blocco si dovrebbe scrivere:

ObjectInputStream ois = new ObjectInputStream(is); 
Object object = ois.readObject(); 

ObjectInputStream viene inizializzato con un altro flusso, ad esempio, BufferedInputStream o il flusso di input is.

+0

ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream (baos); oos.writeObject (reg_be); oos.flush(); oos.close(); InputStream è = new ByteArrayInputStream (baos.toByteArray()); questo codice mostra l'eccezione java.io.NotSerializableException: perché? – sabarirajan

+0

Poiché la classe dell'oggetto ('reg_be') che si sta serializzando/deserializzando deve implementare l'interfaccia' Serializable'. – darijan

+0

grazie per la risposta. ok serializzerò il mio obj. – sabarirajan

2
ObjectInputStream ois = new ObjectInputStream(is); 
Object o - ois.readObject(); 
+0

ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream (baos); oos.writeObject (reg_be); oos.flush(); oos.close(); InputStream is = new ByteArrayInputStream (baos.toByteArray()); questo codice mostra l'eccezione java.io.NotSerializableException: perché? – sabarirajan

+0

Perché la tua classe non implementa Serializable. –

0

provare il seguente

ObjectInputStream ois = new ObjectInputStream(is); 
Object obj = ois .readObject(); 
+0

ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream (baos); oos.writeObject (reg_be); oos.flush(); oos.close(); InputStream è = new ByteArrayInputStream (baos.toByteArray()); questo codice mostra l'eccezione java.io.NotSerializableException: perché? – sabarirajan

+0

Perché postare una risposta completamente uguale come le due precedenti? – darijan

+0

La tua classe implementa Serializable? Dovrebbe o altrimenti otterrai quell'eccezione. Classe il cui oggetto si sta trasferendo nei flussi I/O. –

Problemi correlati