`
三月沙
  • 浏览: 620304 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java对象的序列化输出和读取

    博客分类:
  • java
阅读更多

被序列化的对象

 

package JavaIo;

import java.io.Serializable;

/**
 *
 * @author zhyq
 */
public class Person implements Serializable {

    transient private String birth; //该值无法被序列化
    private String name;

    public String getBirth() {
        return birth;
    }

    public void setBirth(String birth) {
        this.birth = birth;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

对象的序列化输出和读取

 

package JavaIo;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/**
 *
 * @author zhyq
 */
public class Main {

    public static void main(String[] args) {
        FileOutputStream fileOutStream = null;  //底层文件输出流
        ObjectOutputStream objectOut = null;  //高层的对象输出流
        Person p = new Person();
        p.setName("jone");
        p.setBirth("1936");
        try {
            fileOutStream = new FileOutputStream("object.ser");
            objectOut = new ObjectOutputStream(fileOutStream); //用底层的文件输出流对象装饰高层的对象输出流
            objectOut.writeObject(p);  //序列化对象
            objectOut.close();
        } catch (Exception e) {
            
        }

        Person pToNew = null;
        FileInputStream fileInputStream=null;  //底层的文件读取流
        ObjectInputStream objectIn = null; //高层的对象读取流
        try {
            fileInputStream = new FileInputStream("object.ser"); //
            objectIn = new ObjectInputStream(fileInputStream);//用底层的文件读取流装饰高层的对象读取流
            pToNew = (Person)objectIn.readObject();//读取序列化的对象并设置
        } catch (Exception e) {
        }

        System.out.println("birth 被设置成transient 值为   "+pToNew.getBirth());
        System.out.println("name 没有进行特殊的设置,值为   "+pToNew.getName());
    }
}
 
分享到:
评论

相关推荐

    Java对象序列化标准最新版

    ### Java对象序列化标准知识点详解 #### 一、系统架构概览 **1.1 概览** Java 对象序列化是一种将Java对象的状态转换成字节流的过程,以便于在网络上传输或存储到磁盘上。Java序列化标准定义了一套规则来描述如何...

    java对象序列化和反序列化

    综上,Java对象序列化和反序列化是Java开发中的基础技能,它们在数据持久化、网络通信等方面发挥着关键作用。了解并掌握这些知识,能够帮助开发者更好地设计和实现各种功能。在实际应用中,需要注意安全性和版本兼容...

    JAVA对象序列化保存为XML文件的工具类

    【JAVA对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...

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

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

    Java对象序列化

    总的来说,Java对象序列化是Java编程中的重要概念,它使得对象能够跨越不同的存储介质和网络环境,增强了程序的可移植性和可扩展性。理解和掌握序列化技术,对于开发分布式系统、持久化存储以及网络通信的应用程序至...

    java基础 对象序列化

    ### Java基础:对象序列化深度解析 ...通过深入理解对象序列化的基本概念、实现机制及其应用场景,开发者可以有效地利用这一特性来构建更加灵活和强大的Java应用程序,特别是在处理分布式系统和数据持久化方面。

    java序列化对象的存储和读取共6页.pdf.zip

    - JSON序列化库如Gson、Jackson、Fastjson等,可以将Java对象转换为JSON字符串,实现数据的存储和传输。 总之,Java序列化是Java开发中一个重要的概念,它在对象的存储、网络通信和分布式系统中发挥着关键作用。...

    通过socket传递java对象(对象序列化)

    本篇将深入探讨如何通过Socket传递Java对象,重点讲解对象序列化的过程。 首先,让我们理解什么是Socket。Socket在计算机网络中是一种进程间通信机制,它允许两个网络应用程序之间建立连接并交换数据。在Java中,`...

    Java序列化

    - 使用 `java.io.ObjectOutputStream` 类的 `writeObject()` 方法将对象写入到输出流,从而实现序列化。 - 使用 `java.io.ObjectInputStream` 类的 `readObject()` 方法从输入流读取对象,实现反序列化。 4. **...

    Java对象的序列化与反序列化Java开发Java经验技巧

    下面将详细介绍Java对象的序列化和反序列化过程。 1. **序列化(Serialization)**: - **概念**:序列化是将Java对象转换为字节序列的过程,这个字节序列可以保存在磁盘上,也可以在网络上传输。 - **作用**:...

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

    下面是一个简单的序列化示例代码,展示了如何将一个`Box`对象序列化并存储到文件中,然后再从文件中读取出来: ```java package com.hotye.dchaoxiong.serializabletest; import java.io.FileInputStream; import ...

    Java实现序列化例子

    1. **对象序列化**: - 创建可序列化的类:首先,你需要定义一个类,并且在类声明中加入`implements Serializable`,例如: ```java public class MySerializableClass implements Serializable { // 类的属性 ...

    java序列化全解

    首先,要使一个Java对象能够被序列化,该类必须实现`Serializable`接口。这个接口没有任何方法,仅仅是一个标记接口,表明该类的对象可以被序列化。当一个类实现了这个接口,Java运行时系统就能够将其实例转换为字节...

    深入探索Java对象的序列化

    对象序列化就是把对象写入到输出流中,用来存储或者传输。 对象的反序列化就是从输入流中读取对象。 要序列化的对象应该实现Serializable接口。 Serializable接口是一个标识接口,没有抽象方法。 ...

    java序列化和反序列化

    序列化机制使得Java对象能够在不同的平台之间进行传输,并且能够保持其原始状态。 **特点:** - **跨平台兼容性:** 序列化后的对象可以在不同的操作系统之间传输,无需担心数据格式或内存布局的不同。 - **对象...

    07-Java序列化面试题(10题)-新增.pdf

    Java 对象序列化可以帮助我们实现将对象保存到内存或者磁盘中,以便在将来重新读取被保存的对象。 3. 序列化对象以字节数组保持-静态成员不保存 使用 Java 对象序列化,在保存对象时,会把其状态保存为一组字节,...

    java中对象的序列化

    总的来说,Java对象序列化是一种强大的工具,允许你在不同场景下保存和恢复对象的状态,如在文件系统、数据库或网络之间传递对象。虽然大部分时候无需编写自定义代码,但在某些复杂情况,可能需要定制序列化和反序列...

    java序列化原理与算法

    接下来,我们编写代码将对象序列化并输出为字节流,存储在一个临时文件`temp.out`中。 ```java public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("temp...

    什么是Java的序列化和反序列化?如何实现对象的序列化和反序列化?(java面试题附答案).txt

    // 将对象序列化到文件 serializeObject(person, "person.ser"); // 从文件中反序列化对象 Person deserializedPerson = deserializeObject("person.ser"); // 打印反序列化后的对象 System.out.println(...

Global site tag (gtag.js) - Google Analytics