序列化和序列话反 入门案例

1、序列化和反序列化分别是什么?

2、序列化和反序列化分别有什么意义?

3、序列化和反序列化怎么用?

1、序列化是将java对象转换成字节文件的过程;

反序列化是将字节文件转换成java对象的过程。

2、序列化是为了将内存中的文件永久保存;

序列化是为了将文件进行网络交换。

3、下面是一个 序列化和反序列化的案例

package main;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

//对象的序列化和反序列化 入门

public class Test {

public static void main(String[] args) throws IOException,

ClassNotFoundException {

// SerializePerson();

Person pe = DeserializePerson();

System.out.println("age is : " + pe.getAge());

System.out.println("name is : " + pe.getName());

System.out.println("sex is : " + pe.getSex());

}

public static void SerializePerson() throws IOException {

Person pe = new Person();

pe.setAge("22");

pe.setName("Ban");

pe.setSex("man");

FileOutputStream fos = new FileOutputStream("E:/test.txt");

ObjectOutputStream oos = new ObjectOutputStream(fos);

oos.writeObject(pe);

oos.close();

System.out.println("serialize successfully!!");

}

public static Person DeserializePerson() throws IOException,

ClassNotFoundException {

FileInputStream fis = new FileInputStream("E:/test.txt");

ObjectInputStream ois = new ObjectInputStream(fis);

Person pe = (Person) ois.readObject();

return pe;

}

}

附:实体类

package main;

import java.io.Serializable;

public class Person  implements Serializable{

private static final long serialVersionUID = 1L;

private String name;

private String age;

private String sex;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

}

tips:实体类必须实现serializable接口  并且 写上  private static  final long serivalVersionUID = 1L;

不然会报错   NoSerival.....的错

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-06 09:56:15

序列化和序列话反 入门案例的相关文章

一起学习Hibernate: Hibernate01 —— Hibernate的概述与入门案例

一 Hibernate的介绍 1 让我们从JDBC与替代它的框架Hibernate进行一下对比. 1.1 JDBC的缺点 1) 代码结构繁琐.每次书写sql语句操作数据库都得需要很多步; 2) 是面向过程的编程,而非面向对象的: 3) 没有做到数据缓存.这会导致程序与数据库的交互的次数很多: 4) 因为事务是自动开启的,所以存在安全隐患. 1.2 JDBC的优点 1) 因为是底层的数据库操作,所以执行效率很高: 2) sql语句可以自己编写,可以进行优化从而选择效率最高的那些. 1.3 Hibe

_00017 Kafka的体系结构介绍以及Kafka入门案例(初级案例+Java API的使用)

博文作者:妳那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! qq交流群:214293307  (期待与你一起学习,共同进步) # Kfaka的体系结构 # 学习前言 Kafka的整个学习过程就是自己看官网的文档,出

MyBatis入门案例、增删改查

1.MyBatis是什么?(下载地址:https://github.com/mybatis/mybatis-3/releases) MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进. MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费

_00019 Storm的体系结构介绍以及Storm入门案例(官网上的简单Java案例)

博文作者:妳那伊抹微笑 博客地址:http://blog.csdn.net/u012185296 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! qq交流群:214293307  (期待与你一起学习,共同进步) # Storm

序列化和反序列话

定义: 首先来介绍一下什么是序列化和反序列化,下面是序列化和反序列话的定义 序列化:把对象转换为字节序列的过程称为对象的序列化. 反序列化:把字节序列恢复为对象的过程称为对象的反序列化. 序列化的作用: 在介绍序列化的作用之前,请大家思考一个问题,对象是如何存储的,以及对象是如何传输的? 是的,这个问题的答案就是序列化的作用,那么对象是如何存储的呢? 1. 把对象串行化为二进制数据 2. 把对象串行化为格式化数据(比如Json序列化.XML序列化) 可以把串行化后的二进制数据或文件存储到磁盘等设

Mybatis 入门案例分享

本文分享一下,Mybatis的一些入门案例: 为什么不用JDBC方式来操作数据库,而使用类似于Mybatis的框架呢? 1.  数据库链接创建.释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题. 解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接. 2.  Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码. 解决:将Sql语句配置在XXXXmapper.xml文件中与java代码分离. 3

ActiveMQ入门案例以及整合Spring的简单实用

先来个ActiveMQ介绍哈: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法,是一个消息中间件. 应用场景:为了实现系统之间的通信,把系统之间的调用耦合度降低就可以使用MQ. 1) activeMQ 是Apache出品,最流行的,能力强劲的开源消息总线. 2) avtiveMQ主要特点:完全支持JMS1.1和J2EE 1.4规范:支持spring,很容易内嵌到spring中:支持ajax. 3) activeMQ的消息形式: a) 点对点形式,即生产

nodejs入门案例与参数接受

javaScript 前台语言 nodejs 语法基于js 后台 重点 模块的学习 express Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js 的包管理器 npm,是全球最大的开源库生态系统. 后台那么多为什么还要node.js 1. 异步事件驱动 2. 非堵塞I/O CPU密集型(CPU-bound) IO密集型(I/O bound) 性能出众 入门 入

Hibernate介绍和入门案例

一身转战三千里,一剑曾当百万师 如果你在之前没有学过SSH三大框架,那么你之前肯定是通过JDBC来对数据库进行操作.现在,你完全可以把跟数据库交互的操作直接交给Hibernate. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的 orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC