`
NOthingAj
  • 浏览: 16446 次
社区版块
存档分类
最新评论

对象序列化及反序列化

    博客分类:
  • Java
阅读更多
import java.io.*;

public class Demo {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        String filename = "file.dat";

        /**
         *  将对象写入文件
         */
        ObjectOutputStream obj = new ObjectOutputStream(
            new FileOutputStream(filename));

        Student s = new Student("boy", "James", 1);
        obj.writeObject(s);

        /**
         *  将对象读出文件
         */
        ObjectInputStream objIn = new ObjectInputStream(
            new FileInputStream(filename));
        Student std = (Student)objIn.readObject(); // 此处 readObject() 方法返回的是 Object 对象,必须强制转换
        System.out.println(std); // ID = 1 Name = James Sex = null
        
        objIn.close();
        obj.close();
    }
}

class Student implements Serializable { // 如果要将一个对象序列化,必须实现 Serializable
    private String name;
    private int id;
    private transient String sex; // transient 关键字表示该属性不可序列化
    public Student () {
        
    }
    public Student (String sex, String name, int id) {
        this.sex = sex;
        this.name = name;
        this.id = id;
    }
    public int getId() {
        return this.id;
    }
    public String getName() {
        return this.name;
    }
    public String getSex() {
        return this.sex;
    }

    @Override
    public String toString() {
        return ("ID = " + this.getId() + " " + "Name = " + 
        this.getName() + " " + "Sex = " + this.getSex()); 
    }
}

 

分享到:
评论

相关推荐

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

    Java对象的序列化和反序列化是Java编程中一项重要的技术,主要用于将对象的状态转换为字节流,以便存储或在网络上传输。这一过程对于理解Java的IO操作、持久化数据以及实现分布式通信等场景非常关键。 首先,我们来...

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

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

    java对象序列化和反序列化

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

    C#对象序列化与反序列化

    ### C#对象序列化与反序列化 #### 1. 对象序列化的介绍 ##### (1).NET支持对象序列化的几种方式 .NET框架提供了多种序列化机制,它们各自有不同的应用场景和特点。 - **二进制序列化**: - **定义**:二进制...

    C++ JSON 序列化与反序列化

    需要注意的是,反序列化时需要确保JSON结构与C++对象结构匹配,否则可能会抛出异常。 **三、序列化与反序列化的细节** 1. 复杂类型的处理:除了基本类型外,还可以序列化和反序列化自定义类、结构体以及容器(如...

    C#对象序列化反序列化保存与读取和对象直接保存与读取

    本主题将深入探讨如何在Windows Forms(WF)环境中,利用C#语言进行对象的直接保存与读取,以及通过对象序列化和反序列化的方式实现对象的保存与恢复。 首先,我们来理解什么是对象的直接保存与读取。在C#中,可以...

    对象序列化和反序列化流.xmind

    对象序列化和反序列化流

    C#序列化与反序列化(包括复杂xml对象)

    方法三:取节点KV值并处理对象数组及节点标签组合反序列化 在处理更复杂的XML结构时,可能会遇到对象数组和嵌套的节点标签。例如,一个XML节点可能包含多个相同类型的子节点,这些子节点可以被反序列化为一个对象...

    JAVA对象的序列化与反序列化详细PPT课件.pptx

    前者代表对象输出流,具备`writeObject(Object obj)`方法,可以将对象序列化并写入到目标输出流;后者代表对象输入流,其`readObject()`方法能从输入流中读取字节流并反序列化为对象。 为了使一个Java对象能够被...

    c#对象序列化与反序列化实例

    在C#编程中,对象序列化和反序列化是至关重要的技术,它们允许开发者将复杂的对象状态转换为可存储或可传输的数据格式,如XML、JSON或二进制流。对象序列化通常用于持久化数据、跨进程通信、网络传输等场景。下面...

    序列化和反序列化的封装类

    在编程领域,序列化和反序列化是两个关键的概念,特别是在数据存储、网络传输和对象持久化等场景中。它们允许我们将对象的状态转换为字节流(序列化),然后在需要的时候将字节流还原为原来的对象(反序列化)。在C#...

    XML序列化与反序列化 实战

    这个类可能包含了一些方法,如`Serialize`(将对象序列化为XML字符串或写入XML文件)和`Deserialize`(从XML字符串或文件反序列化回对象)。 接下来,`说明.txt`文件应该提供了关于如何使用这个项目的详细指南。它...

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

    java 序列化和反序列化的方法 Java 序列化和反序列化是 Java 语言中的一种机制,用于将对象转换为字节流,以便在网络上传输或存储。序列化是将对象转换为字节流的过程,而反序列化是将字节流转换回对象的过程。 在...

    用Javascript将form所有内容序列化和反序列化的例子。

    - **支持嵌套数据结构**:如果表单数据包含数组或对象,可能需要自定义序列化和反序列化逻辑,例如使用JSON.stringify()和JSON.parse()。 在`index.html`中,你可以创建一个表单,并在JavaScript文件(js)中实现上述...

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

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

    c#对象序列化和反序列化,压缩流

    在C#编程中,对象序列化和反序列化是至关重要的技术,它们允许我们将对象的状态转化为可存储或可传输的数据格式,例如XML、JSON或二进制,以便于保存、恢复或者在网络间传递。而“压缩流”则涉及到数据的压缩和解...

    基于boost的序列化与反序列化

    在编程领域,序列化和反序列化是两个关键的概念,它们用于将对象的状态转换为可存储或可传输的格式,然后在需要时恢复为原始对象。Boost库提供了一个强大的工具——Boost.Serialization,来帮助程序员实现这个功能。...

    Java对象的序列化和反序列化实践

    在Java编程语言中,对象的序列化和反序列化是两个关键的概念,它们对于数据存储、网络传输以及持久化有着重要的作用。这篇文章将深入探讨这两个主题,并通过实践例子来阐述其工作原理。 **序列化(Serialization)*...

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

    它们涉及将对象的状态转换为可持久化的格式(序列化),以及将这种格式还原回原来的对象(反序列化)。本文将深入探讨这两种技术在处理DLL文件和Protocol Buffers(proto)时的应用。 首先,DLL(Dynamic Link ...

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

    2. **反序列化**:与序列化相反,反序列化是从字节流中恢复对象的过程。在Java中,我们可以使用`ObjectInputStream`类的`readObject()`方法来完成这个操作。在学生管理系统中,当程序启动时,它会读取之前保存的字节...

Global site tag (gtag.js) - Google Analytics