62,621
社区成员
发帖
与我相关
我的任务
分享
List<String> myAL = new ArrayList<String>();
myAL.add("aaaaaa! ");
myAL.add("bbbb-0");
System.out.println("我的ArrayList:" + myAL.get(0));
// 序列化使用的输出流
ObjectOutputStream OOS = null;
// 序列化后数据流给ByteArrayOutputStream 来保存。
// ByteArrayOutputStream 可转成字符串或字节数组
ByteArrayOutputStream BAOS = new ByteArrayOutputStream();
// ByteArrayInputStream 可接收一个字节数组 "byte[] "。供反序列化做参数
ByteArrayInputStream BAIS = null;
// 反序列化使用的输入流
ObjectInputStream OIS = null;
try {
// byte[] myb= "s ";
OOS = new ObjectOutputStream(BAOS);
OOS.writeObject(myAL);
byte[] abc = BAOS.toByteArray();
System.out.println("abc:"+abc);
String StrMySerializer = abc.toString();
System.out.println("序列化:" + StrMySerializer);
OOS.close();
//反序列化
byte[] ddd = StrMySerializer.getBytes();
System.out.println("ddd:"+ddd);
BAIS = new ByteArrayInputStream(abc);
OIS = new ObjectInputStream(BAIS);
ArrayList c = (ArrayList) (OIS.readObject());
System.out.println("反序列化:" + c.get(0)+c.get(1));
OIS.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception ex) {
System.out.println("序列化时产生错误 ");
}