UserInfo obj;
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream output = new ObjectOutputStream(bo);
output.writeObject(obj);
byte[] bytes = bo.toByteArray();
String byteStr = new String(bytes);
这样就可以了。
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream output = new ObjectOutputStream(bo);
output.writeObject(obj);
byte[] bytes = bo.toByteArray();
String byteStr = new String(bytes);
这样就可以了。
解决方案 »
- weblogic启动时出错,提示用户名密码错
- 如何限制ip
- 求大侠帮忙
- (急)该做什么项目?
- 请教一个关于微软的问题
- 碰到一个问题,我在开发机器上日期的时分秒能显示,部署到服务器上日期的时分秒为00:00:00,请大家 帮忙,谢谢了
- The requested resource (/registerAction.do) is not available.
- 很晕的问题(hibernate)
- 【求助】这是MVC吗?-关于孙卫琴《精通Struts》的一点疑问,请高手指教
- SSM 中 mybatis报错
- 我用eclipse+jboss怎样配置到可以单步debug,请大家帮忙
- socket阻塞,如何处理等待?---在线,谢谢!
还原的时候:
byte[] bytes = byteStr.toByteArray();
ByteArrayInputStream bi = new ByteArrayInputStream(bytes);
ObjectInputStream input = new ObjectInputStream(bi);
UserInfo obj = (UserInfo) input.readObject();
byte[] bytes = btyeStr.getBytes();
ByteArrayInputStream bi = new ByteArrayInputStream(bytes);
ObjectInputStream input = new ObjectInputStream(bi);
UserInfo obj = (UserInfo) input.readObject();异常:OptionalDataException
至少String没有toByteArray()这个方法
我用getBytes()代替了之后还是报异常
但将这个String还原成byte[]时,和原来的byte[]并不相等。
这个我也不知道到底是因为什么,可能是因为通过这个byte[]所生成的String是一堆乱码而导致部分无法还原的原因吧。
使用byte[]保存一点问题都没有,如果用byte[]不能解决问题,可以按自己的格式生成一个String,只要能保证还原时和原来的byte[]值一样就可以了。