java 序列化成字符串怎么弄 不想要文件

zqfddqr 2010-06-01 09:56:03
直接变成字符串 要在别的类里直接写上这个字符串就能反序列化这个类的
...全文
381 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

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("序列化时产生错误 ");
}
zqfddqr 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zs86374877 的回复:]
引用 4 楼 zqfddqr 的回复:
XStream还得要加一个项目啊

加什么项目?倒个包进去就行了啊
[/Quote]
对就是不想到这个包。。。。
zs86374877 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zqfddqr 的回复:]
XStream还得要加一个项目啊
[/Quote]
加什么项目?倒个包进去就行了啊
zqfddqr 2010-06-02
  • 打赏
  • 举报
回复
XStream还得要加一个项目啊
龙四 2010-06-01
  • 打赏
  • 举报
回复
用ByteArrayOutputStream序列化成byte[]后,用BASE64编码一下这个byte[]成为一个字符串,然后别人拿到这个字符串,用BASE64反编码一下成为byte[],然后反序列化成对象
zs86374877 2010-06-01
  • 打赏
  • 举报
回复
按照你的意思 我建议用XStream这个类 在需要类上注解一下@XStreamAlias("类名的一个实例名称"),然后在使用的时候声明一下就可以序列化了
XStream xs = new XStream(new DomDriver());
xs.processAnnotations(类名.class);

红色部分要保持一致!
fei1703 2010-06-01
  • 打赏
  • 举报
回复
用ByteArrayOutputStream

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧