2009-04-01 12:04:11softlive
如何傳遞Class
有時會直接用到Class的傳遞serialize/deserialize
Class to byte[] 程式碼如下
Object obj=...; <--產生Class實體
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos=null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
baos.toByteArray() <-- 轉成byte[]傳遞
} catch (Exception e){
throw e;
} finally { oos.close(); }
byte[] to Class 程式碼如下
byte[] bt <--從某處形成傳入
(T) new ObjectInputStream(new ByteArrayInputStream(bt)).readObject() ;
T是想還原的Class。
Class to byte[] 程式碼如下
Object obj=...; <--產生Class實體
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos=null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
baos.toByteArray() <-- 轉成byte[]傳遞
} catch (Exception e){
throw e;
} finally { oos.close(); }
byte[] to Class 程式碼如下
byte[] bt <--從某處形成傳入
(T) new ObjectInputStream(new ByteArrayInputStream(bt)).readObject() ;
T是想還原的Class。