java 序列化成字符串怎么弄 不想要文件 直接变成字符串 要在别的类里直接写上这个字符串就能反序列化这个类的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按照你的意思 我建议用XStream这个类 在需要类上注解一下@XStreamAlias("类名的一个实例名称"),然后在使用的时候声明一下就可以序列化了XStream xs = new XStream(new DomDriver());xs.processAnnotations(类名.class);红色部分要保持一致! 用ByteArrayOutputStream序列化成byte[]后,用BASE64编码一下这个byte[]成为一个字符串,然后别人拿到这个字符串,用BASE64反编码一下成为byte[],然后反序列化成对象 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("序列化时产生错误 "); } 期末考试题目,跪求各位高手帮忙! 关于默认构造函数的面试题 sql 2000 分段取数据 各位大哥们帮帮忙啊 静态引用了非静态的方法的错误 给大家推荐一个很好的java和c#技术网站 又一道! 请问,我想学JAVA,得怎样学起?? JDK的CLASSPATH问题? 关于jar的使用 关于Java环境配置问题 急!急!!!!为什么这段jquery代码无效?
XStream xs = new XStream(new DomDriver());
xs.processAnnotations(类名.class);红色部分要保持一致!
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("序列化时产生错误 ");
}