广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州什么是Java序列化对象?_北大青鸟IT学校

作者:邓华发布时间:2021-04-09分类:Java技术浏览:1373


导读:上一篇文章惠州北大青鸟老师给大家讲了什么是Java对象序列化,那么你知道什么是Java序列化对象吗?下面跟着老师一起来学习。

上一篇文章惠州北大青鸟老师给大家讲了什么是Java对象序列化,那么你知道什么是Java序列化对象吗?下面跟着老师一起来学习。

以下代码创建ObjectOutputStream类的对象,并将对象保存到person.ser文件。

ObjectOutputStream oos  = new ObjectOutputStream(new FileOutputStream("person.ser"));

要将对象保存到ByteArrayOutputStream,我们构造一个对象输出流如下:

ByteArrayOutputStream baos  = new ByteArrayOutputStream();

// Creates an  object output stream to write objects to the   byte   array  output stream
ObjectOutputStream oos  = new ObjectOutputStream(baos);

使用ObjectOutputStream类的writeObject()方法通过将对象引用作为参数传递来序列化对象,如下所示:

oos.writeObject(p1);

最后,当我们完成将所有对象写入时,使用close()方法关闭对象输出流:

oos.close();

以下代码显示如何序列化实现可序列化接口的Person类。

import java.io.Serializable;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;class Person implements Serializable {  private String name = "Unknown";  private String gender = "Unknown";  private double height = Double.NaN;  public Person(String name, String gender, double height) {
   this.name = name;
   this.gender = gender;
   this.height = height;
 }

 @Override  public String toString() {    return "Name: " + this.name + ", Gender:   " + this.gender + ",  Height: "
       + this.height;
 }
}public class Main {  public static void main(String[] args) {
   Person p1 = new Person("John", "Male", 1.7);
   Person p2 = new Person("Wally", "Male", 1.7);
   Person p3 = new Person("Katrina", "Female", 1.4);    File fileObject = new File("person.ser");    try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
       fileObject))) {

     oos.writeObject(p1);
     oos.writeObject(p2);
     oos.writeObject(p3);      // Display the serialized objects on the standard output      System.out.println(p1);
     System.out.println(p2);
     System.out.println(p3);
   } catch (IOException e) {
     e.printStackTrace();
   }
 }
}

上面的代码生成以下结果。

Name:John,Gender:   Male, Height:1.7

Name:Wally,Gender:   Male, Height:1.7

Name:Katrina,Gender:   Female, Height:1.4

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表