import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

public class ObjectAndByte {

/**

* 对象转数组

* @param obj

* @return

*/

public byte[] toByteArray (Object obj) {

byte[] bytes = null;

ByteArrayOutputStream bos = new ByteArrayOutputStream();

try {

ObjectOutputStream oos = new ObjectOutputStream(bos);

oos.writeObject(obj);

oos.flush();

bytes = bos.toByteArray ();

oos.close();

bos.close();

} catch (IOException ex) {

ex.printStackTrace();

}

return bytes;

}

/**

* 数组转对象

* @param bytes

* @return

*/

public Object toObject (byte[] bytes) {

Object obj = null;

try {

ByteArrayInputStream bis = new ByteArrayInputStream (bytes);

ObjectInputStream ois = new ObjectInputStream (bis);

obj = ois.readObject();

ois.close();

bis.close();

} catch (IOException ex) {

ex.printStackTrace();

} catch (ClassNotFoundException ex) {

ex.printStackTrace();

}

return obj;

}

}

问题:

bytes在反序列化为Object的前提是byte[]是通过ObjectOutputStream序列化的,否则直接将一个任意的byte[]转换成Object时会报错,错误信息为:

java.io.StreamCorruptedException: invalid stream header: EFBFBDEF

转自--https://my.oschina.net/drl/blog/719211

java基础 序列化反序列化流 实现Serializable 接口 自动装载序列号到对象文本文件如修改不能反序列化对象文本,除非自定义long型常量 打印流

package com.swift.baseKnowledge; import java.io.File; import java.io.FileInputStream; import java.io ...

c# 使用 Newtonsoft.Json 序列化json字符串以及,反序列化对象

1. 序列化 对象 /** 使用 Newtonsoft.Json 序列化对象 **/ [WebMethod] public String getPersonInfos() { // 初始化数据 Lis ...

js对象序列化JSON.stringify()与反序列化JSON.parse()

草稿: parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age" ...

Java学习笔记——IO操作之对象序列化及反序列化

对象序列化的概念 对象序列化使得一个程序可以把一个完整的对象写到一个字节流里面:其逆过程则是从一个字节流里面读出一个事先存储在里面的完整的对象,称为对象的反序列化. 将一个对象保存到永久存储设备上称为 ...

Java 序列化 对象序列化和反序列化

Java 序列化 对象序列化和反序列化 @author ixenos 对象序列化是什么 1.对象序列化就是把一个对象的状态转化成一个字节流. 我们可以把这样的字节流存储为一个文件,作为对这个对象的复制 ...

Java对象序列化与反序列化

对象序列化的目标是将对象保存在磁盘中或者在网络中进行传输.实现的机制是允许将对象转为与平台无关的二进制流. java中对象的序列化机制是将允许对象转为字节序列.这些字节序列可以使Java对象脱离程序存 ...

Java程序设计——对象序列化

对象序列化的目标是将对象保存到磁盘中或允许在网络中直接传输对象,对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上,通过网络将这种二进制流传输到另 ...

【译】Java中的对象序列化

前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...

Java对象序列化文件追加对象的问题,以及Java的读取多个对象的问题解决方法。

这几天做一个小的聊天项目用到对象序列化的知识,发现对象序列化不能像普通文件一样直接追加对象.每次写入对象都会被覆盖.弄了2个多小时终于解决了.Java默认的对象序列化是每次写入对象都会写入一点头ace ...

JAVA 对象序列化——Serializable

1.序列化是干什么的?       简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object st ...

随机推荐

自动布局之autoresizingMask使用详解(Storyboard&Code)

自动布局之autoresizingMask使用详解(Storyboard&Code) http://www.cocoachina.com/ios/20141216/10652.html 必须禁 ...

[原创]C#按比例缩放窗体控件及字体

按照比例缩放窗体控件及字体,如需等比例缩放,只需将x,y的比例设置成相同即可. 为了减小误差,建议使用原始尺寸来计算比例. private float X, Y; private bool b = f ...

微信开发中access_token,js_ticket,时间戳,签名生成工具

Access_token生成工具 工具地址:https://mp.weixin.qq.com/debug 这个工具主要用来验证和生成微信公众号access_token,主要有正确的app_id和app ...

[测试题]数组(array)

Description Input Output Sample Input1 3 2 75 4 2 Sample Output1 999999732 Sample Explanation1 Sampl ...

Windows系统下在Git Bash中把文件内容复制到剪贴板的命令

众所周知,在OS系统中,复制文件内容到剪贴板(比如复制公钥到剪贴板)的命令是: pbcopy < ~/.ssh/id_rsa.pub 在Win7或者Win10下这条命令就没用了.可以这样: cl ...

&lbrack;转&rsqb;GitHub上优秀的Go开源项目

转载于GitHub上优秀的Go开源项目 正文 近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用.技巧 ...

Git Flow 分支管理简述

概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

【Laravel】 常用的artisan命令【原创】

全局篇   查看artisan命令 php artisan php artisan list   查看某个帮助命令 php artisan help make:model   查看laravel版本 ...

RxJava响应式编程,入门的HelloWorld;

RxJava核心就是异步,它也被称之为响应式编程:最大的优势就是随着程序逻辑变得越来越复杂,它依然能够保持简洁. Rxjava真的是让人又爱又恨,因为它的线程切换和链式调用真的很好用,但是入门却有点难 ...

SpringBoot------热部署&lpar;devtools&rpar;&lpar;推荐&rpar;

1.修改pom.xml文件

java byte序列化,java对象序列化byte[] and byte[]反序列化对象--转相关推荐

  1. IO流案例以及特殊操作流/对象对象序列化流/Properties集合

    文章目录 IO流案例 复制单级文件夹 复制多级文件夹 IO特殊操作流 标准输入流 字节打印流 字符打印流 对象序列化流 serialVersionUID&transient Propertie ...

  2. php php 序列化方法,PHP序列化的4种方法已公布,这是你PHP进阶之路必会的

    [摘要]php作为一种编程软件,也能实现很多功能,不过今天环球网校的小编要为大家讲解PHP序列化的4种方法已公布,这是你PHP进阶之路必会的?看完这个代码你就明白了,因为只要你了解了PHP序列化的4种 ...

  3. Java中 byte[]数组序列化和fastjson序列化区别

    Java中 byte[]数组序列化和fastjson序列化区别 Java中,对于对象可以通过序列化成byte数组或者序列化成json形式,这里做下两者的对比. 首先看下实现方式: 1 byte数组序列 ...

  4. java 中的对象序列化

    java对象序列化允许你将一个实现了Serializable接口的对象转换成byte,以方便以后的调用.应该在实现了Serializable接口的类内定义  private static final ...

  5. java对象序列化克隆_Java8基础知识(三)对象克隆与序列化

    对象克隆 对象克隆最简单的方式是:将对原对象的引用直接传给一个新的副本变量.这种方式存在很大的缺陷,两个变量中任何一个变量的改变都会影响另一个变量. 浅拷贝 利用Object类的clone方法,能够创 ...

  6. java对象序列化去掉字段_使用序列化查找对象中的脏字段

    java对象序列化去掉字段 假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存已修改的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别 ...

  7. java序列化深克隆_克隆可序列化和不可序列化的Java对象

    java序列化深克隆 开发人员经常依靠3d方库来避免重新发明轮子,尤其是在Java世界中,Apache和Spring这样的项目如此盛行. 在处理这些框架时,我们通常很少或根本无法控制其类的行为. 这有 ...

  8. Java对象序列化的本机C / C ++类似性能

    您是否曾经希望过像使用C ++这样的本地语言将Java对象转换成字节流一样快的速度? 如果您使用标准的Java序列化,您可能会对性能感到失望. Java序列化的目的是与尽可能快而紧凑地序列化对象的目的 ...

  9. 克隆可序列化和不可序列化的Java对象

    开发人员经常依靠3d方库来避免重新发明轮子,尤其是在Java世界中,Apache和Spring这样的项目如此盛行. 在处理这些框架时,我们通常很少或根本无法控制其类的行为. 这有时会导致问题. 例如, ...

最新文章

  1. CVPR2021 | 基于transformer的视频实例分割网络VisTR
  2. TCP拥塞控制算法 — CUBIC的补丁(四)
  3. 算法改进有多快?是否比迭代硬件收益更大?这是MIT的结论
  4. 【渝粤教育】国家开放大学2018年春季 7407-22T药物治疗学(本) 参考试题
  5. [vue] prop验证的type类型有哪几种?
  6. python解放二次开发_[转载]Python二次开发程序详解
  7. 一次百万长连接压测 Nginx OOM 的问题排查分析
  8. 配置ssd为缓存_SSD小讲堂丨新电脑剪视频还卡?原因给你们找到了!
  9. java web宿舍管理系统源码_JavaWeb宿舍管理系统(附 演示、源码下载地址)
  10. java shell_jshell – Java Shell
  11. 计算机简谱转五线谱乐谱,五线谱如何转成简谱-五线谱转简谱图文教程 - Iefans...
  12. Guitar Pro8版本 吉他绘谱创作乐谱
  13. 软件开发人员如何做出好看的UI界面
  14. 必看!软考系统架构设计师考试详情与备考攻略
  15. 主流智能手机屏幕材质介绍 及 LCD闪屏现象分析
  16. 共筑未来 | 思腾合力加入光合组织,完成国产信创兼容适配
  17. Linux系统 | vim配置
  18. 《树莓派项目实战》第七节 使用声音传感器检测有无声音
  19. MateRS能不能升级鸿蒙,华为MateRS只是开胃菜:麒麟980+1536G+5G芯片,网友:确实很吓人!...
  20. 计算机编程常用英语6,计算机编程常用英语.(DOC)

热门文章

  1. linux使用wdm设备驱动模型,驱动开发(WDM) - thomas_more的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 实现pc/移动端加载不同css样式
  3. 玩谁是卧底吗?用C语言帮你盘逻辑
  4. android扔骰子代码,Android实现掷骰子效果
  5. 内容分享第三站:厦门(内有福利)
  6. Imagick和GD图片处理旋转等问题
  7. 嵌入式Linux小项目之图片编解码播放器学习导读
  8. 35岁 从事linux运维,对于IT运维来说35岁真的是个坎吗?为什么?
  9. Redis应用案例之优惠券秒杀
  10. 前端实习生笔试_2017携程Web前端实习生招聘笔试题总结