2013-06-11 6 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()); 

このコードはInputStreamへのJava Object変換し、私はObjectInputStreamどのように変換することができますJavaオブジェクトへの入力ストリームを変換するには?私はObjectInputStreamに変換する必要があります。私はそれを渡し、Objectを戻したいと思います。あなたが書くべきtryブロックではどのよう

+2

のObjectInputStreamを試してみて本当に明白なようです。 – Gimby

答えて

13

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

ObjectInputStreamは、例えば、別のストリームで初期化されますBufferedInputStreamまたは入力ストリームis

+0

ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos =新しいObjectOutputStream(baos); oos.writeObject(reg_be); oos.flush(); oos.close(); InputStream is =新しいByteArrayInputStream(baos.toByteArray());このコードは例外java.io.NotSerializableExceptionを示しています:なぜですか? – sabarirajan

+0

オブジェクトのクラス( 'reg_be')は、シリアライズ/デシリアライズする際に' Serializable'インタフェースを実装する必要があるためです。 – darijan

+0

ご返信ありがとうございます。私はobjをシリアル化します。 – sabarirajan

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

ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos =新しいObjectOutputStream(baos); oos.writeObject(reg_be); oos.flush(); oos.close(); InputStream is = new ByteArrayInputStream(baos.toByteArray());このコードは例外java.io.NotSerializableExceptionを示しています:なぜですか? – sabarirajan

+0

あなたのクラスは 'Serializable'を実装していないためです。 –

0

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

ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos =新しいObjectOutputStream(baos); oos.writeObject(reg_be); oos.flush(); oos.close(); InputStream is =新しいByteArrayInputStream(baos.toByteArray());このコードは例外java.io.NotSerializableExceptionを示しています:なぜですか? – sabarirajan

+0

前の2つのように完全に同じ回答を投稿するのはなぜですか? – darijan

+0

クラスはSerializableを実装していますか?それはそうするべきか、そうでなければあなたはその例外を得るでしょう。 I/Oストリームでオブジェクトを転送しているクラス。 –