`
chengxusheji113
  • 浏览: 8795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java序列化和反序列化的简单实现

 
阅读更多
package com.ser;

import java.io.Serializable;

/**
 * 
 * @author wangliming
 * @date 2014-11-1 上午9:46:44
 * @version 1.0
 */
public class Person implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7409419872165892981L;

	public int id;
	public String name;

	/**
	 * 获取 id
	 * 
	 * @return id
	 */
	public int getId() {
		return id;
	}

	/**
	 * 设置 id
	 * 
	 * @param id
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * 获取 name
	 * 
	 * @return name
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置 name
	 * 
	 * @param name
	 */
	public void setName(String name) {
		this.name = name;
	}

	public Person(int id, String name) {
		this.id = id;
		this.name = name;
	}

	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + "]";
	}

}
</pre><pre name="code" class="java">
<pre name="code" class="java">package com.ser;

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

/**
 *
 * @author wangliming
 * @date 2014-11-1 上午9:51:02
 * @version 1.0
 */
public class SerialTest {

	public static void main(String[] args) throws Exception {
		Person person = new Person(1234, "wang");
		FileOutputStream fos = new FileOutputStream("test.ser");
		ObjectOutputStream oos = new ObjectOutputStream(fos);
		oos.writeObject(person);
		oos.flush();
		oos.close();
	}
}



<pre name="code" class="java">package com.ser;

import java.io.FileInputStream;
import java.io.ObjectInputStream;

/**
 *
 * @author wangliming
 * @date 2014-11-1 上午9:56:43
 * @version 1.0
 */
public class DeSerialTest {

	public static void main(String[] args) throws Exception {
		FileInputStream fis = new FileInputStream("test.ser");
		ObjectInputStream ois = new ObjectInputStream(fis);
		Person person = (Person) ois.readObject();
		ois.close();
		System.out.println(person);
	}
}




分享到:
评论

相关推荐

    java序列化和反序列化的方法

    * 使用 Java 序列化 API 实现序列化和反序列化 在实际开发中,选择合适的序列化和反序列化方法取决于具体的需求和场景。在本例中,我们使用 Serializable 接口实现序列化和反序列化,以便在网络上传输 UserMessage ...

    java序列化和反序列化

    - **自动化处理:** Java序列化过程大部分是由JVM自动完成的,开发者只需关注对象的设计和实现。 #### 二、实现序列化的步骤 要使一个Java对象支持序列化,需要遵循以下步骤: 1. **实现Serializable接口:** - ...

    Java对象序列化和反序列化工具Xson.zip

    Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven:  &lt;groupId&gt;com.github.xsonorg&lt;/groupId&gt;  &lt;artifactId&gt;xson-core  &lt;version&gt;1.0.1 ...

    java反序列化工具

    Java反序列化是一种将已序列化的对象状态转换回对象的过程,它是Java平台中持久化数据的一种常见方式。在Java应用程序中,序列化用于保存对象的状态以便稍后恢复,或者在网络间传输对象。然而,这个过程也可能引入...

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

    现在,让我们看一个简单的序列化和反序列化的示例代码(基于提供的`StreamDemo_08.java`): ```java import java.io.*; public class StreamDemo { public static void main(String[] args) throws IOException,...

    C#和Java的序列化反序列化

    而在Java中,我们可以通过实现`Serializable`接口来使类支持序列化,或者使用`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`进行对象的序列化和反序列化。 接下来,我们讨论反序列化。反序列化是序列...

    java serializable 序列化与反序列化

    **一、Java序列化** 1. **什么是序列化**:序列化是将对象的状态(属性和成员变量)转换为可以存储或传输的数据格式的过程。在Java中,通常是将对象转换为字节数组,以便写入磁盘或通过网络发送。 2. **为什么需要...

    java序列化(Serializable)的作用和反序列化.doc

    ### Java序列化(Serializable)的作用与反序列化详解 #### 一、序列化的概念 序列化是指将程序中的对象转换为一系列字节流的过程,主要用于保存对象的状态或在网络之间传输对象。序列化的主要目的是为了能够持久化...

    java对象序列化和反序列化

    Java对象序列化与反序列化是Java编程中重要的概念,主要应用于数据持久化、网络传输以及存储等场景。本文将详细解析这两个概念及其在实际应用中的实现方式。 **一、Java对象序列化** 1. **定义**: Java对象序列化...

    java序列化(Serializable)的作用和反序列化

    ### Java序列化(Serializable)的作用与反序列化详解 #### 一、序列化是什么? 序列化是指将程序中的对象转换为字节流的过程,从而方便存储或传输这些对象。通常,序列化用于将对象的状态(即其实例变量的值,而非...

    java 常用序列化和反序列化框架使用demo

    Java序列化和反序列化是将对象的状态转换为字节流和从字节流恢复对象状态的过程,这对于数据持久化、网络传输以及跨进程通信等场景至关重要。在Java中,`java.io.Serializable`接口用于标记一个类是可序列化的。然而...

    Java序列化与反序列化

    Java序列化与反序列化 Java序列化与反序列化 Java序列化与反序列化 Java序列化与反序列化 Java序列化与反序列化

    Java Json序列化与反序列化

    总结,Java中的JSON序列化与反序列化是数据交互的重要环节,Jackson和Gson是两个常用的库,它们提供了丰富的功能和良好的API设计,使得处理JSON数据变得简单高效。通过理解和掌握这些知识,开发者可以更好地在Java...

    java序列化实现演示

    在给定的链接"Java序列化机制(2)- serialVersionUID 实验"中,博主通过一个实验详细解释了`serialVersionUID`的作用和重要性。实验可能包括以下步骤: 1. 创建一个实现`Serializable`接口的简单类,并运行序列化...

    Java序列化_Java序列化结构_

    3. **数据格式**:Java序列化生成的字节流是平台和版本相关的,不适用于跨平台或跨语言通信。 4. **替代方案**:Java序列化并不是唯一的选择。例如,JSON、XML、protobuf等轻量级序列化库提供了更高效、更安全的...

    Java序列化

    下面我们将深入探讨Java序列化的概念、作用、实现方式以及相关应用。 1. **序列化概念** - Java序列化是Java平台提供的一种持久化机制,它允许将对象转换为字节序列,这样就可以保存在文件中或在网络上传输。 - ...

    序列化和反序列化dll文件和proto

    总的来说,理解和掌握序列化和反序列化技术对于任何IT专业人员来说都是至关重要的,无论是在处理DLL文件以实现模块化开发,还是在使用Proto进行高效的数据交换。正确使用这些技术能够提高代码的可维护性、减少网络...

    学生管理系统(序列化和反序列化)

    在本项目中,“学生管理系统(序列化和反序列化)”是一个基于Java或类似编程语言实现的系统,其核心功能是有效地存储和恢复学生信息。序列化和反序列化是这个系统的关键技术,它们允许程序将对象的状态转化为可存储...

    Protocol Buffer序列化对比Java序列化.

    【Protocol Buffer序列化对比Java序列化】 Protocol Buffer(简称PB)是Google开发的一种高效的数据序列化协议,而Java序列化是Java...而Java序列化则在简单的Java项目内部或已有大量Java序列化数据的情况下更为便利。

    hessian学习基础篇——序列化和反序列化

    在IT领域,序列化和反序列化是两个关键的概念,特别是在网络通信、数据持久化以及对象存储中。本文将深入探讨Hessian框架的基础知识,它是一个高效的二进制序列化协议,广泛应用于Java和.NET之间跨语言通信。通过...

Global site tag (gtag.js) - Google Analytics