2018-07-25期java序列化和反序列化编程小案例

     2022-04-06     152

关键词:

package cn.sjq.Serializable.java;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.io.OutputStream;

/**

* 将Fruit对象写入文件

* @author songjq

*

*/

public class JavaSerializableDemo {

public static void main(String[] args) throws Exception {

//定义水果对象

Fruit f = new Fruit();

f.setName("Apple");

f.setType("001");

f.setProduction("China");

/*

* 将水果对象f写入文件(Fruit未实现序列化)

*/

//定义输出流

OutputStream out = new FileOutputStream("d: empFruit.ser");

//定义对象输出流

ObjectOutputStream objectOutputStream = new ObjectOutputStream(out);

objectOutputStream.writeObject(f);

//关闭流

out.close();

objectOutputStream.close();

/**

* 测试结论:

* 1、Fruit未实现序列化

* Exception in thread "main" java.io.NotSerializableException: cn.sjq.Serializable.java.Fruit

* 说明如果一个对象要被写入文件,需要对该对象进行序列化

* 2、Fruit实现序列化 public class Fruit implements Serializable

* 对象Fruit成功写入了文件d: empFruit.ser

*/

/**

* 反序列化,将Fruit.ser反序列化成Fruit对象输出控制台

*/

InputStream in = new FileInputStream("d: empFruit.ser");

ObjectInputStream objectInputStream = new ObjectInputStream(in);

Fruit fruit = (Fruit) objectInputStream.readObject();

System.out.println(f.getName()+" "+f.getType()+" "+f.getProduction());

/*

* 输出结果:

* Apple 001 China

*/

}

}

package cn.sjq.Serializable.java;

import java.io.Serializable;

/**

* Java序列化:如果一个类实现了Java序列化,这个类就可以作为输入输出对象

* 定义一个JAVA Bean Fruit

* @author songjq

*

*/

public class Fruit implements Serializable {

private String name;

private String type;

private String production;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

}

public String getProduction() {

return production;

}

public void setProduction(String production) {

this.production = production;

}

}


java之hadoopapi序列化和反序列化(代码片段)

...a;大数据学习成长记录学习目标:熟悉Java开发掌握Java序列化和反序列化Hadoop的mapreduce序列化软件版本信息工具名称说明VMware-workstation-full-15.5.1-15018445.exe虚拟机安装包MobaXterm_Portable_v20.3.zip解压使用,远程连接Centos系统 查看详情

java应用使用jackson库进行json序列化和反序列化

...串,或者将JSON字符串转换为Java对象。这个过程就是JSON的序列化和反序列化。对于Java中的JSON序列化和反序列化,有很多开源库可供选择,其中Jackson库是最受欢迎的之一。Jackson库提供了丰富的功能,可以实现灵活的JSON序列化和... 查看详情

c#网络编程学习---序列化和反序列化(代码片段)

1、什么是序列化和反序列化当客户端和服务器进行远程连接时,互相可以发送各种类型的数据。但都要先把这些对象转换为字节序列,才能在网络上进行传输。序列化:就是发送方把对象转换为字节序列的过程。反序列化:就... 查看详情

java的序列化和反序列化(代码片段)

Java的序列化和反序列化什么是序列化和反序列化?**序列化(Serialize)**指将Java对象存储到硬盘文件(流)中的过程,即保存当前Java的状态。**反序列化(Deserialize)**指将序列化的对象转为Java对象... 查看详情

java的序列化和反序列化(代码片段)

Java的序列化和反序列化什么是序列化和反序列化?**序列化(Serialize)**指将Java对象存储到硬盘文件(流)中的过程,即保存当前Java的状态。**反序列化(Deserialize)**指将序列化的对象转为Java对象... 查看详情

java序列化和反序列化

1、介绍 查看详情

java序列化和反序列化(代码片段)

Java序列化和反序列化模型类:packagecom.hollischaung.serialization.SerializableDemos;importjava.io.Serializable;/***Createdbyhollison16/2/17.*实现Serializable接口*/publicclassUser1implementsSerializableprivateStringn 查看详情

java序列化和反序列化serializable源码分析-1(代码片段)

目录Java序列化和反序列化(二)Serializable源码分析-11.Java序列化接口Java序列化和反序列化(二)Serializable源码分析-1在上一篇文章中讲解了一下Serializable的大致用法,本节重点关注Java序列化的实现,围绕ObjectOutputStream#writeObject... 查看详情

序列化和反序列化

什么是java的序列化和反序列化java序列化就是把java对象转换为字节序列的过程。对于transient和static修饰的属性不会被序列化。原因:transient的作用就是这样,static是因为序列化作用的是对象,static修饰后是属于类的,所以没用。... 查看详情

Java:序列化和反序列化音频文件

】Java:序列化和反序列化音频文件【英文标题】:Java:SerializeandDeserializeaudiofiles【发布时间】:2012-11-1319:39:25【问题描述】:我正在写一个小型格斗游戏。现在我正在创建带有动画、组合等的角色制作器。我的精灵已经遇到了一... 查看详情

java中的序列化和反序列化(代码片段)

Java中的序列化和反序列化基本概念序列化反序列化序列化和反序列化总结自定义序列化策略Externalizabletransient静态变量序列化ID破坏单例基本概念Java中创建对象时,一旦程序终止,创建的对象可能就不存在.要想使得对象能够在程序... 查看详情

java序列化和反序列化

Java领域的对象如何传输 基于socket进行对象传输, 先举个简单的例子,写一个socket通信的代码 UserpublicclassUser{privateintid;privateStringname;publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetNam 查看详情

java序列化和反序列化serializable源码分析-2(代码片段)

目录Java序列化和反序列化(三)Serializable源码分析-21.ObjectStreamField1.1数据结构1.2构造函数2.ObjectStreamClassJava序列化和反序列化(三)Serializable源码分析-2在上一篇文章中围绕ObjectOutputStream#writeObject讲解了一下序列化的整个流程,... 查看详情

java序列化和反序列化

什么叫序列化和反序列化?序列化:对象转化为字节序列的过程叫做对象的序列化反序列化:字节序列恢复为对象的过程叫做对象的反序列化 为啥要序列化?(序列化的用途)-需要将对象永久的保存在硬盘中(比如Session对象)-网络传... 查看详情

java的序列化和反序列化

packagecom.lideng.work325;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOu 查看详情

java序列化和反序列化的实现原理

老是听说序列化反序列化,就是不知道到底什么是序列化,什么是反序列化?今天就在网上搜索学习一下,这一搜不要紧,发现自己曾经用过,竟然不知道那就是JDK类库中序列化和反序列化的API。 ----什么是序列化?--1--java... 查看详情

java对象的序列化和反序列化

packagecom.fgy.demo2;importjava.io.Serializable;/***想要实现序列化,必须实现Serializable接口*/publicclassPersonimplementsSerializable{privateStringname;privatetransientIntegerage;publicPerson(){}publicPerson(String 查看详情

java对象的序列化和反序列化

...:一是把对象包装成JSON字符串传输,二是采用java对象的序列化和反序列化。随着Google工具protoBuf的开源,protobuf也是个不错的选择。对JSON,Object Serialize,ProtoBuf做个对比。  public&n 查看详情